2012-03-27 110 views
0

让我问一下如何在dll中的函数内获取dll的文件路径在C#4.0中? 请让我知道如何使用C#,但不直接使用win API。如何在C#中的dll函数内获取dll的路径?

预先感谢您。

+0

看到http://stackoverflow.com/questions/864484/getting-the-path-of-the-current-assembly前面的问题 – 2012-03-27 06:48:43

回答

2
string currentAssemblyDirectoryName = 
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); 

当心后它是影像复制该Assembly.Location属性返回 组件文件的位置。另外,如果使用Load方法动态加载 ,则返回空字符串。

如果您有兴趣检索 程序集的位置,然后它被阴影复制或加载, 改为使用Assembly.CodeBase属性。请注意,在说明AssemblyName时最初指定的位置是 。

参考here

3

你试过吗?

string path = System.Reflection.Assembly.GetExecutingAssembly().Location 
1

你可以使用:

Assembly.GetExecutingAssembly().Location 

但如果你是一个ASP.NET应用程序中,由于影子拷贝,这可能不是你要找的位置。

1
this.GetType().Assembly.Location;