让我问一下如何在C#4.0中的dll中的函数内获取dll的文件路径? 请让我知道如何仅使用C#,而不是直接使用win API。
提前谢谢。
答案 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;