问题
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.
来源:https://stackoverflow.com/questions/917053/get-the-assembly-path-c-sharp