バックグラウンド
私は以下を利用しています:
- VS 2012
- MVC4 アプリ、C# ドメイン アプリ、NUnit プロジェクトを含む .NET 4.5 アプリ。
- カスタム MSBuild ファイル
- ビルド サーバーで実行されている CruiseControl.NET
次のビルド ターゲットがあります。
- Clean: buildartifacts ディレクトリを削除します
- 初期化: 空の buildartifacts ディレクトリを作成します
- コンパイル: ソリューションをコンパイルします
- テスト: NUnit テストを実行します
- パッケージ: デプロイ用の ZIP パッケージを作成します
- 展開: パッケージをリモート IIS サーバーに展開します。
問題
- ローカル マシンからビルドを実行すると、完全にパッケージ化およびデプロイされます。
- CCNet が同じビルド ターゲットを実行すると、ファイルがデプロイされたように見える
試みられた解決策/潜在的なリード
- 両方のマシンから PowerShell で同じターゲットを実行しましたが、どちらにもエラーや警告は表示されませんでした。
- ビルド サーバーにコピーした .NET 4.5 ファイルを指すようにフレームワークをオーバーライドするように CCNEt に指示したため、MSBuild を実行するときにローカル マシンが同じファイルを指すようにしましたが、ローカル ビルドは引き続き動作し、展開されました。
- Visual Studio では、すべてのコンテンツ ファイルが「コンテンツ」のビルド アクションと「常にコピー」の出力へのコピー設定でマークされていることを確認しました。
コード
- https://gist.github.com/53ef2a63931d190593f6の要点で利用可能
- (ファイルがスクラブされ、アプリ名と資格情報が置き換えられたなど)