1

ローカルビルドは正常に機能します。1つのビルドサーバーは正常に動作します(TFSビルドを使用していません)。

問題は、TFSビルドが必要なMVC4ではなくMVC3バイナリをパッケージ化することです。

SERVER 1:TFSサーバーにはMVC4のみがインストールされています(とにかくこれが必要だとは思いませんが)。

SERVER 2:TFSビルドコントローラーにはMVC4のみがインストールされています。(ビルドエージェントは同じサーバー上にあります)。

注:両方ともSERVER 12以前に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をインストールします。

4

1 に答える 1

0

最後にこれを解決しました。含まれているプログラムファイル内にReferenceAssembliesフォルダーがありますsystem.web.mvc.dll(バージョン3)。私はそれを削除しました、そしてそれはすべてうまくいきます!

簡単に言えば、「。NETバージョン4.0は、フレームワーク参照アセンブリの実行方法に大きな変更を加えました。」

この質問の答えは、このフォルダーが何であるか、そしてなぜそこにあるのかについての詳細を提供します:参照アセンブリフォルダーと同じバージョンの異なるアセンブリ

于 2013-01-09T12:34:55.213 に答える