获取 CoreCLR 中的程序集位置

Get assembly location in CoreCLR

在 CoreCLR 下,我无法像在 .NET Framework 下那样获取程序集位置。

Location 似乎不是 Assembly 的成员,并且 Assembly 上的静态方法(例如 GetExecutingAssembly)也消失了。

获取程序集目录或有关我的 运行 程序的任何目录信息的首选方法是什么?

我试过 CoreCLR 版本:
1.0.0-beta5 coreclr x64
1.0.0-beta6 coreclr x86

既然你提到了 1.0.0-beta6 我想你是在谈论 DNX。

您可以使用 IApplicationEnvironment。这将为您提供应用程序的名称和基本路径。

Assembly.Location 会很棘手,因为您可以拥有动态编译的代码,因此程序集不在您可能期望的位置。