Get the Assembly path C#

2019-01-25 08:22发布

问题:

Im trying to know the path of a dll.... several sites says that ive to use System.Reflection.Assembly.GetExecutingAssembly().Location BUT it returns a path in C:\Windows\Microsoft.Net ... etc... \File.Dll

and i want c:\MyProyect\MiWeb\Bin\File.Dll

any help ?

回答1:

You can do this using:

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


回答2:

The Location of the assembly changes based on redirects and shadow copy. Try using the Codebase property instead.



回答3:

That may actually be the path the program is using... IIRC, It starts out searching for the method call in the GAC before defaulting to the working directory.



回答4:

Are you sure you have referenced the right assembly in your project? Sounds like you are using some "default" assembly since it is located in the .NET folder.