Reputation: 1419
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 ?
Upvotes: 12
Views: 19702
Reputation: 564771
You can do this using:
string file = (new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).LocalPath;
Upvotes: 21
Reputation: 4169
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.
Upvotes: 0
Reputation: 5501
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.
Upvotes: 1
Reputation: 32377
The Location of the assembly changes based on redirects and shadow copy. Try using the Codebase property instead.
Upvotes: 3