如何在C#中的dll内的函数内获取dll的路径?

时间:2012-03-27 06:43:25

标签: c#

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

提前谢谢。

4 个答案:

答案 0 :(得分:3)

你试过这个吗?

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

答案 1 :(得分:2)

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

请注意Assembly.Location属性返回的位置   阴影复制后的程序集文件。另外,如果是的话   使用Load方法动态加载,它返回空字符串。

     

如果您对检索感兴趣   在进行阴影复制或加载之前,程序集的位置,   请改用Assembly.CodeBase属性。请注意,它是   在声明AssemblyName时最初指定的位置。

参考here

答案 2 :(得分:1)

您可以使用:

Assembly.GetExecutingAssembly().Location

虽然如果您在ASP.NET应用程序中,由于影子复制,这可能不是您要查找的位置。

答案 3 :(得分:1)

this.GetType().Assembly.Location;