我有一个托管 DLL(用 C++/CLI 编写),其中包含 C# 可执行文件使用的类。在类的构造函数中,我需要访问引用 DLL 的可执行文件的完整路径。在实际的应用程序中,我知道我可以使用 Application 对象来执行此操作,但如何从托管 DLL 执行此操作?
Brian Stewart
问问题
6955 次
2 回答
15
Assembly.GetCallingAssembly()
或者
Assembly.GetExecutingAssembly()
或者
Assembly.GetEntryAssembly()
取决于你的需要。
然后使用 Location 或 CodeBase 属性(我不记得是哪一个)。
于 2008-09-23T13:53:50.730 回答
5
@leppie:谢谢-那是我需要的指针。
供将来参考,在 C++/CLI 中,这是有效的实际语法:
String^ appPathString = Assembly::GetEntryAssembly()->Location;
GetExecutingAssembly()
提供了 DLL 的名称
GetCallingAssembly()
返回类似 System.Windows.Forms
GetEntryAssembly
返回完整路径,类似于GetModulePath()
Win32 下。
于 2008-09-23T15:26:25.263 回答