web-dev-qa-db-ja.com

クラスライブラリの現在のディレクトリを取得するにはどうすればよいですか?

探し回っていましたが、この問題の解決策が見つかりませんでした。Configurationというサブディレクトリの下に構成ファイルを持つクラスライブラリを作成したいと思います。そのクラスライブラリをどこにでもデプロイしたいのですが、自分の場所を知って構成ファイルを見つけたいと思っています。

Assembly.GetExecutingAssembly().Locationを使用した以前の試行は機能しませんでした。
次のような一時的な場所を返します

C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\7c00e0a3\38789d63\Assembly\dl3\9c0a23ff\18fb5feb_6ac3c901

希望の代わりに

bin/Configuration 道。

そう:

  1. クラスライブラリは、ディスク上の自身の場所を認識できますか?
  2. アプリの実行方法(VS内でのデバッグ、IISでの展開など)に基づいてディレクトリが変わるように見えるので、この機能のテストスクリプトを作成するにはどうすればよいですか?
26
nandos

これはうまくいくはずです-

string assemblyFile = (
    new System.Uri(Assembly.GetExecutingAssembly().CodeBase)
).AbsolutePath;
40
Reed Copsey