私はVS 2008でうまく構築されていたプロジェクトを持っていて、TFS Buildをインストールして使い始めた後、TFS 2010にアップグレードしましたすべての機能はまだうまく機能していました(私は新しいビルドプロセスを実装した後、リモートVisual Studio 2010クライアントからのワンクリックビルドの開始ですべてがうまく機能しました)。 Visual Studioはビルドエージェントにインストールする必要はありませんでした。ビルドエージェントにVisual Studioをインストールしないように非常に努力しています(非常に)ビルドエージェントにVisual Studioをインストールしないようにしています。私の理解では必要ではないため、非開発マシンにインストールするライセンスはありません。TFSビルドでVS2010 MakeFileプロジェクト(vcxproj)を構築する方法
今、SQL Server CLRプロシージャを対象とするアセンブリであり、SQL Serverがまだ.NET 4.0をサポートしていないため、ソリューションをVS 2010にアップグレードしようとしました。しかし、私はそれをTFS Buildの下でもう構築することはできません。私はTFS BuildとMS Buildコマンドラインから一貫したエラーメッセージを得ることはできないようですが、C:\ Program Files \ MSBuild \にないMicrosoft.Cpp.Targetsと何か関係があると思いますVisual Studioがインストールされていません。 Microsoft Windows SDK 7.1をインストールして、他の.NET 4.0プロジェクト用のsvcutilのような.NET 4.0 SDKツールを実行できるようにしましたが、このビルドに必要なものは何もインストールされていないようです。 TFSのビルドが私を与えるエラーは次のとおりです。
C:\ TFSBld [...] \ GenerateLanguage \ GenerateLanguage.vcxproj(46,3): エラーMSB4019:インポートされたプロジェクト 「C:\ Microsoft.Cpp .Default.props "が ではありませんでした。 のパスが であり、ファイルがディスク上に存在することを確認してください。
そして、私はそのエラーをクリックしたときには、vcxprojファイルのこの行に私を取る:私は本当にこのプロジェクトでやらなければならないことがRESXファイルからリソースファイルを生成するためにresgenを実行している
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
それらを衛星衛星アセンブリにコンパイルします。私はこれを行うためにmakefileビルドを使用していました。手動でresgenを実行していました(私はそれが別の方法でスタンドアロンソリューションとして衛星アセンブリをコンパイルする方法を見つけることができなかったと思います)。それが今どのように働いていたのか覚えていませんが、リソースファイルからDLLファイルをコンパイルするためにAL.exeを手動で実行していたと思います)。だから基本的には、このプロジェクトをビルドするためにコマンドラインを実行するだけです。プロジェクト全体をスローしたり、TFSビルドスクリプトを編集してハードコードされたコマンドラインを実行したりすることなく、代わりに。より良い方法が必要です。
私はこの一日中、標準ファイルの代わりに自分自身の.targetsファイルと.xmlプロパティシートを作成しようとしましたが、それは私の頭の上です。私は単に行を削除しようとしましたが、MSBuildは「ビルド」ターゲットがないと不平を言います。 vcxprojファイルにダミーを追加しようとしましたが、すべての作業が完了したビルド前およびビルド後のステップを実行していないようです。
この質問は既にここで回答されているようです:http://stackoverflow.com/questions/3043294/how-to-build-a-vs2010-c-project-on-a-buildserverこの質問を更新/削除する正しい方法は? – BlueMonkMN