我有一个托管DLL(用C++/CLI编写),它包含一个C#可执行文件使用的类.在类的构造函数中,我需要访问引用DLL的可执行文件的完整路径.在实际的应用程序中,我知道我可以使用Application对象来执行此操作,但是如何从托管DLL执行此操作?
Assembly.GetCallingAssembly()
要么
Assembly.GetExecutingAssembly()
要么
Assembly.GetEntryAssembly()
根据您的需要.
然后使用Location或CodeBase属性(我永远不记得哪一个).
@leppie:谢谢 - 这是我需要的指针.
为了将来参考,在C++/CLI中这是有效的实际语法:
String^ appPathString = Assembly::GetEntryAssembly()->Location;
GetExecutingAssembly()
提供了DLL的名称
GetCallingAssembly()
返回类似System.Windows.Forms的内容
GetEntryAssembly
返回完整路径,类似于GetModulePath()
Win32下.