ローカルビルドは正常に機能します。1つのビルドサーバーは正常に動作します(TFSビルドを使用していません)。
問題は、TFSビルドが必要なMVC4ではなくMVC3バイナリをパッケージ化することです。
SERVER 1
:TFSサーバーにはMVC4のみがインストールされています(とにかくこれが必要だとは思いませんが)。
SERVER 2
:TFSビルドコントローラーにはMVC4のみがインストールされています。(ビルドエージェントは同じサーバー上にあります)。
注:両方ともSERVER 1
、2
以前にMVC3がインストールされています。
新しいビルドをキューに入れ、SERVER 2
(ビルドコントローラーサーバー)に移動すると、エージェントが機能していて(TFS管理コンソール)、作業ディレクトリが作成されていることがわかります。
ただし、作業ディレクトリには最終的にMVC3バイナリが含まれます。次に、これはホスティングサーバーのドロップ場所にドロップされ、MVC3では正しくデプロイされません。
'SERVER 2'のコマンドラインからのMSBuildも、MVC3バイナリをbinフォルダーに追加します。GACにはMVC4バイナリが含まれています。(C:\ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ System.Web.Mvc \ v4.0_4.0.0.0__31bf3856ad364e35)
問題のプロジェクトのweb.configはMVC4を正しく参照しており、System.Web.Mvc(v4.0.0.0
)はローカルにコピーするように設定されています。私はMVC3の参照を広範囲にチェックしました。これはレガシービルドサーバー(MVC4がインストールされている)で機能するため、コードを疑う理由はありません。
そしてもちろん、それはすべて私のマシンで機能します。公開には、binフォルダーに正しいMVC.dllが含まれています。
どこからMVC3を入手できるのでしょうか?何が欠けている可能性がありますか?
短期間の修正:ホスティングサーバーにMVC4をインストールします。