2011-08-25 15 views
18

プロジェクトの\bin\フォルダにあるアセンブリへのコントローラのパス参照を必要とするMVC 3プロジェクトをビルドします。MVC 3の相対パス./bin/

誰でも正しい方向に\bin\フォルダの相対パスを作成することができますか? VS 2010でのデバッグモードでプロジェクトを実行

ので、そのパスにbinフォルダの.\bin\ルックスを使用して、現在のディレクトリがC:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0されます。

ありがとうございます。

答えて

39

この情報を取得するには、現在のappdomainを使用できます。

// 1) get current directory for this loaded assembly 
// 2) combine path to get \bin folder 
var path = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "bin"); 
+0

初めて作業しました!大変感謝します。 – AndyBursh

+0

ありがとう、人生保護人 – Cohen

8

あなたがMapPathメソッドを公開し、あなたがHttpServerUtilityBaseのインスタンスへのアクセスを持っているコントローラ、にいるので:

var binDirectoryPath = Server.MapPath("~/bin"); 

これはMapPathのことから、自明ユニットテスト可能であることの付加的な利点を持っていますメソッドは仮想であり、嘲笑することができます。