0

VisualStudioでコマンドラインオプション「--xx」を使用してc++プロジェクト/ソリューションを実行する場合、TeamCityからまったく同じことを実行するにはどうすればよいですか?

検索しましたが、オプションが見つかりませんでした。

「コマンドラインパラメータ」のように見えるものの1つは、実際にはMSBuild用に指定されています。

ソリューションによって生成された実行可能ファイルだけでなく、ソリューションを実行する必要があります。

ありがとうございました。

4

2 に答える 2

1

Visual Studio ビルドは、サーバー上で MSBuild を使用して実行されます。名前は少しわかりにくいかもしれませんが、パラメーターは、その MSBuild パラメーター ボックスを使用して Visual Studio に渡すのと同じように機能する必要があります。

そのパラメーター ボックスを使用してこれを機能させるのに問題がある場合は、実行する必要があるコマンドと必要な動作に関する詳細情報が必要になります。

質問者のコメントに続いて編集

ここでの実際の問題は、Visual Studio ビルドが実際には TeamCity に存在しないことです。Visual Studio ビルドは、実際には Visual Studioソリューションに対して MsBuild を実行するだけであり、Google Test に関しては、問題を引き起こすのに十分なほど異なります。

これを解決するには、おそらくビルド ランナーを、ソリューションをビルドして Google テストを実行する MsBuild スクリプトに変更する必要があります。ありがたいことに、インターネットは次のことを提供します。

http://code.google.com/p/msbuildteamcitytasks/wiki/RunGoogleTests

上記は、GoogleTest の結果を TeamCity と完全に統合することを主張する MsBuild タスクの一部であり、その点ですべての作業を行っています。この結果、ソリューションで MsBuild を呼び出す非常に短いビルド スクリプトと、必要に応じてその MsBuild タスクを呼び出すだけで済みます。私はそれらを使用していないので、それらがどれほどうまく機能するか、セットアップがどれほど簡単かを確認することはできませんが、ページのドキュメントは、組み立てがかなり簡単であることを示唆しています.

以下は、ソリューションをビルドする MsBuild のスニペットです。

<MSBuild Projects="@(BuildProjects)" Targets="Rebuild" BuildInParallel="true" Properties="Configuration=Debug;Platform=$(Platform)">
  <Output ItemName="DebugOutputs" TaskParameter="TargetOutputs"/>
</MSBuild>    

各 $() 変数は、TeamCity 構成のシステム プロパティです @(BuildProjects) は、これを使用して生成されたソリューションのリストです。

<ItemGroup>
   <BuildProjects Include="$(WorkingArea)\**\*.sln" />
</ItemGroup>

もちろん、これらの変数のすべてをハードコーディングしたり、必要に応じてパラメーターを変更したりできますが、この例では、他のプロジェクトでスクリプトを再利用する自由が与えられます (完全なスクリプトではありません。外側)。

もちろん、必要に応じてスクリプトに追加の機能を組み込むことも、理解しやすいようにできるだけ単純なままにすることもできます。

MsBuild スクリプトに関する詳細なドキュメントは、次の場所から入手できます。 http://www.universalthread.com/ViewPageArticle.aspx?ID=61 http://codingcockerel.co.uk/2008/04/15/automating-the- build-with-msbuild/ http://www.codeproject.com/Articles/12985/Practical-NET2-and-C-2-An-introduction-to-MSBuild

必要に応じて他にもたくさんあると思います。

于 2012-10-17T08:32:23.637 に答える
0

さて、TeamCity (私はバージョン 6.5.x を使用しています) で、新しいビルド ステップを追加するときに、必要に応じてビルド ランナーをVisual Studio (sln)またはVisual Studio 2003として選択すると、パスするオプションが表示されます。コマンド ライン パラメータ。

どのバージョンの TeamCity を使用していますか?

于 2012-10-17T05:46:08.537 に答える