.NET Core 中 Assembly.GetEntryAssembly() 的等价物是什么?

What is the equivalent of Assembly.GetEntryAssembly() in .NET Core?

在 .net 框架中,我们可以使用以下方法获取起始程序集:

Assembly.GetEntryAssembly();

但这已从 .NET Core 中删除。也没有 AppDomain。如何访问 .NET Core 和 Windows 通用应用程序中的入口程序集?

(我需要找到它所有的嵌入式资源密钥)

Assembly.GetEntryAssembly().NET Standard 1.5 中可用,但在版本 1.0 到 1.4 中不可用。如果您只开发 .NET Core 和 通用 Windows 应用程序,版本 1.5 应该足以满足您的需求。

如果我没记错的话,AppDomain注定会出现在.NET Standard 2.0中。现在不可用。

我最终将入口程序集注入了库。

在图书馆:

class AssemblyHelper 
{
     // This can be called instead of Assembly.GetEntryAssembly()
     public static Func<Assembly> GetEntryAssembly;
}

在启动应用程序(使用库)中:

class Program
{
    public static void Main()
    {
        AssemblyHelper.GetEntryAssembly = () => typeof(Program).GetAssembly();

        ....
    }
}