jmpena
jmpena

Reputation: 1419

Get the Assembly path C#

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

Answers (4)

Reed Copsey
Reed Copsey

Reputation: 564771

You can do this using:

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

Upvotes: 21

erikric
erikric

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

Ian Jacobs
Ian Jacobs

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

Paul Alexander
Paul Alexander

Reputation: 32377

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

Upvotes: 3

Related Questions