当前位置: 首页 > 知识库问答 >
问题:

在网络核心中替换AppDomain

司马宏茂
2023-03-14

所以,我是C#和Net Core的新手,有人把代码传给了我一个评估命令。但是,它不是在Net Core中制作的,所以,AppDomain在Net Core中不存在,我该怎么办?

ScriptOptions so = ScriptOptions.Default;

            so = so.WithImports(new string[] { "System.Math", "System.Diagnostics", "System.Runtime.InteropServices",
            "Discord.WebSocket", "Discord.Commands", "Discord", "System.Threading.Tasks", "System.Linq", "System", "System.Collections.Generic", "System.Convert", "System.Reflection"});
            so = so.WithReferences(AppDomain.CurrentDomain.GetAssemblies().Where(xa => !xa.IsDynamic && !string.IsNullOrWhiteSpace(xa.Location)));

共有1个答案

吴镜
2023-03-14

没有AppDoamain在. net核心你可以使用Microsoft.Extensions.DependencyModel库来实现你所需要的。

下面是一篇文章的代码。你可以在那里看到全部细节。

return GetReferencingLibraries("Specify")
.SelectMany(assembly => assembly.ExportedTypes);

public static IEnumerable<Assembly> GetReferencingAssemblies(string assemblyName)
{
    var assemblies = new List<Assembly>();
    var dependencies = DependencyContext.Default.RuntimeLibraries;
    foreach (var library in dependencies)
    {
        if (IsCandidateLibrary(library, assemblyName))
        {
            var assembly = Assembly.Load(new AssemblyName(library.Name));
            assemblies.Add(assembly);
        }
    }
    return assemblies;
}

private static bool IsCandidateLibrary(RuntimeLibrary library, assemblyName)
{
    return library.Name == (assemblyName)
        || library.Dependencies.Any(d => d.Name.StartsWith(assemblyName));
}

您将需要包含< code>Microsoft。extensions . dependency model 包来使用上述代码。

 类似资料:
  • [source] Dense keras.layers.Dense(units, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regular

  • 是否有任何方法可以在网络环境中使用。NET核心应用程序?如果我构建应用程序,会出现以下错误: 我认为不是的一部分。NET Core,但是还有其他选择吗?

  • 有人能帮我让VS2017与. NET Core测试项目一起使用吗? 我尝试从VS 2017模板为. NET Core创建MSTest和xUnit单元测试项目。它们都不适用于测试资源管理器(未发现),但是从项目文件夹运行可以正常工作。 复制步骤: < li >在VS 2017中创建新项目 < li >选择< code >单元测试项目(NET Core)或< code>xUnit测试项目(。NET C

  • 我按照说明设置了MIP SDK示例项目,如果我使用示例提供的. NET Framework 4.6.1,一切都运行良好;但是我在中使用相同的代码。Net Core 3.1控制台应用程序(也。Net core webapp btw): 未处理的异常。System.ApplicationException MipContext_CreateWithCustomFeatureSettings:在 Mic

  • 发行说明说Dapper与.NET Standard 2.0兼容。为什么它与.Net Core 3.1一起使用?从哪个版本开始,它的工作原理是什么?

  • 最近,我使用Visual Studio2017(15.6.3)从头创建了一个ASP.NET MVC核心项目。我发现了常见的JavaScript框架: 引导 jQuery jQuery-验证 jQuery-validation-unobtrusive 但不幸的是,所有的鲍尔支持都没有了!没有、和“管理Bower包...”再: 如果不推荐使用bower包,请不要将此问题复制到如何在Visual Stu