2009-05-27 9 views
12

dllのパスを知ろうとしています....いくつかのサイトでは、System.Reflection.Assembly.GetExecutingAssembly()を使用するためにiveという名前が付けられていますが、C:\ Windows \ Microsoft.Net ...等... \ファイル.dllアセンブリパスを取得するC#

と私は、cたい:\ MyProyect \ MiWeb \ビン\ファイル.dll

任意の助けを?

+1

は、Webプロジェクトのために、このですか? –

+0

入手した実際のアセンブリパスを投稿できますか?つまり実際のアセンブリ名で、完全なパス。また、アセンブリパスを決定しようとするメソッドのコードを投稿します。 –

答えて

21

あなたは使ってこれを行うことができます。

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

アセンブリの場所は、リダイレクトとシャドウコピーに基づいて変更されます。 Codebaseプロパティを代わりに使用してみてください。

1

これはプログラムが実際に使用しているパスかもしれません... IIRC、GACのメソッド呼び出しの検索を開始してから、作業ディレクトリをデフォルトにします。

0

プロジェクトで正しいアセンブリを参照してもよろしいですか?あなたが.NETフォルダー内にあるので、いくつかの "デフォルト"アセンブリを使用しているように思えます。

関連する問題