获取程序集路径C#

我试图知道一个DLL的路径….几个网站说我要使用System.Reflection.Assembly.GetExecutingAssembly()。位置但它返回C:\ Windows \ Microsoft.Net …等路径。 .. \ File.Dll

我想要c:\ MyProyect \ MiWeb \ Bin \ File.Dll

任何帮助?

你可以这样做:

string file = (new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).LocalPath; 

程序集的位置根据重定向和卷影副本进行更改。 请尝试使用Codebase属性。

这可能实际上是程序正在使用的路径… IIRC,它开始在默认到工作目录之前在GAC中搜索方法调用。

您确定在项目中引用了正确的程序集吗? 听起来你正在使用一些“默认”程序集,因为它位于.NET文件夹中。