【发布时间】:2012-03-27 06:43:24
【问题描述】:
请问如何在C#4.0的dll里面的一个函数中获取dll的文件路径? 请让我知道如何只使用 C#,而不是直接使用 win API。
提前谢谢你。
【问题讨论】:
标签: c#
请问如何在C#4.0的dll里面的一个函数中获取dll的文件路径? 请让我知道如何只使用 C#,而不是直接使用 win API。
提前谢谢你。
【问题讨论】:
标签: c#
你试过了吗?
string path = System.Reflection.Assembly.GetExecutingAssembly().Location
【讨论】:
string currentAssemblyDirectoryName =
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
注意 Assembly.Location 属性返回的位置 卷影复制后的程序集文件。另外,如果是 使用Load方法动态加载,返回空字符串。
如果您有兴趣检索 组件在被卷影复制或加载之前的位置, 改用 Assembly.CodeBase 属性。请注意,它是 声明 AssemblyName 时最初指定的位置。
参考here
【讨论】:
你可以使用:
Assembly.GetExecutingAssembly().Location
尽管如果您在 ASP.NET 应用程序中,由于卷影复制,这可能不是您要查找的位置。
【讨论】:
this.GetType().Assembly.Location;
【讨论】: