2012-07-23 16 views
6

Visual Studio 2010とTFS 2010のインストール(サーバーにもインストールされています)があるので、C#プロジェクトのビルド定義を作成しました。ビルドは成功しますが、ドロップフォルダに.exeファイルはありませんが、DLLが見つかります。TFS 2010ビルドに成功した後にexeファイルがコピーされない

以前に同じ問題が発生したことはありますか?ビルドが終了すると、新しいビルド&をキューに入れる場合はTFS-ビルドの全体の流れを観察することができる

答えて

1

あなたの返事をお寄せいただきありがとうございます、3つのプロジェクトの1つが "x86 "AnyCPU"の代わりに、私はバイナリフォルダを整理した後に気づきました。(デフォルトでは、TFSは投稿を使って同じフォルダにすべてを置くので、見るのは難しいでしょう):http://lajak.wordpress.com/2011/05/07/customize-binaries-folder-in-tfs-team-build /にあります。

問題は解決されました。あなたの助けに感謝し、良い一日を。

+0

Imen、もしうまくいけば答えの一つを受け入れられた答え(おそらくジェームス・リードのもの)にマークするべきです。 – Fabio

1

Verbosity = diagnostic
を設定し、それを開いて、「ログの表示」を選択します。

BinariesDirectoryの値はInitialize Binaries Directoryになります。
OutputDirectoryという名前の別の変数は、BinariesDirectoryを基にした値にInitialize OutputDirectoryの値を得ます。
MSBuildは結果をOutputDirectoryにドロップします。
最後にCopy Files to Drop Locationの中でBinariesDirectoryの下のすべてがドロップ先にコピーされます。

これを行うアクティビティはMicrosoft.TeamFoundation.Build.Workflow.Activities.CopyDirectoryです。これはすべての拡張子に焦点を当てません。単にディレクトリ全体をコピーするだけです。

あなたが報告されているものを体験するためには、デフォルト以外のビルドプロセステンプレートのXAMLを使用している場合があります、またはあなたのMSBuild引数が何らかの形で変更されている、または* exeファイル - csprojは、ハードコードされた出力パスを持っています。
いずれにしても、上記のようにビルドログをトレースすると、原因を見つけることができます。
幸運!

6

これは、構築する設定に問題がある可能性があります。

ソリューションエクスプローラでソリューションを右クリックし、[構成マネージャ]を選択します。これにより、ソリューション内のすべてのプロジェクトの一覧が表示されます。 "EXE"を作成するプロジェクトはおそらく "x86"に設定され、 "DLL"を作成するプロジェクトはおそらく "AnyCPU"に設定されます。

それぞれに「プラットフォーム」があり、すべてのプロジェクトをビルドする「混合プラットフォーム」用の「プラットフォーム」が必要です。

あなたのビルド定義をチェックインしてください。プロセスタブを見て、「ビルドするアイテム」設定を見て、「リリース|混在プラットフォーム」を構築していることを確認します。あなたのビルドの出力にちょうどdllを取得しているなら、私はあなたのビルドが "Release | AnyCPU"に設定されていると思われます

+0

ありがとうございました – pantelif

+0

皆さん、お返事いただきありがとうございます。プロジェクトが「AnyCPU」ではなく「x86」に設定されていたのとまったく同じ問題でした。私はbianriesフォルダを整理した後で気づきました。同じフォルダに壊れているので見えにくいです)投稿を使って: – Imen

関連する問題