Visual Studio 2010 (サーバーにもインストールされています) と共に TFS 2010 をインストールしています。C# プロジェクトのビルド定義を作成しました。ビルドは成功しますが、ドロップ フォルダーに .exe ファイルがありませんが、dll を見つけることができます。
以前に同じ問題を経験した人はいますか?
Visual Studio 2010 (サーバーにもインストールされています) と共に TFS 2010 をインストールしています。C# プロジェクトのビルド定義を作成しました。ビルドは成功しますが、ドロップ フォルダーに .exe ファイルがありませんが、dll を見つけることができます。
以前に同じ問題を経験した人はいますか?
これは、ビルドする構成に問題がある可能性があります。
ソリューション エクスプローラーでソリューションを右クリックし、[構成マネージャー] を選択します。これにより、ソリューション内のすべてのプロジェクトのリストが表示されます。「EXE」を作成するプロジェクトはおそらく「x86」に設定され、「DLL」を作成するプロジェクトは「AnyCPU」に設定されている可能性があります。
これらのそれぞれの「プラットフォーム」に加えて、すべてのプロジェクトをビルドする「混合プラットフォーム」の「プラットフォーム」が必要です。
ビルド定義をチェックインします。プロセスタブを見て、「ビルドするアイテム」設定を見て、「リリース|混合プラットフォーム」をビルドしていることを確認してください。ビルド出力に dll のみが表示される場合は、ビルドが "Release|AnyCPU" に設定されていると思われます。
新しいビルドとセットをキューに入れると、TFS ビルドの全体の流れを確認できます。Verbosity = diagnostic
ビルドが終了したら、それを開いて [ログの表示] を選択します。
ABinariesDirectory
は 内でその値を取得しますInitialize Binaries Directory
。
という名前の別の変数は、 に基づく何かに基づいて、OutputDirectory
内でその値を取得します。MSBuild は結果を this にドロップします。最後に、以下のすべてがドロップ場所にコピーされます。これを行うアクティビティは、拡張子に焦点を当てていません。ディレクトリ全体をコピーするだけです。Initialize OutputDirectory
BinariesDirectory
OutputDirectory
Copy Files to Drop Location
BinariesDirectory
Microsoft.TeamFoundation.Build.Workflow.Activities.CopyDirectory
報告内容を体験するには、既定以外のビルド プロセス テンプレート XAML を使用しているか、MSBuild 引数が何らかの形で変更されているか、*exe-csproj にハードコーディングされた出力パスが含まれている可能性があります。
いずれにせよ、上記のようにビルドログをたどれば、犯人を突き止めることができるはずです。
幸運を!
返信ありがとうございます。それがまさに問題でした。3 つのプロジェクトの 1 つが「AnyCPU」ではなく「x86」に設定されていました。見にくい) 投稿を使用: http://lajak.wordpress.com/2011/05/07/customize-binaries-folder-in-tfs-team-build/.
問題は解決しました。ご協力いただきありがとうございます。良い一日をお過ごしください。