3

この辺りでこれについていくつか質問がありますが、(私にとって)有効な答えはありません。質問は:

パスをハードコーディングしたり、$(VSxxComnTools)または$(VSINSTALLDIR)変数を使用したりせずに、msbuildプロジェクト内からmstest.exeの場所を特定する方法はありますか?

後者の理由は、完全なVSではなくVSテストエージェントのみがインストールされているビルドサーバー(TFSではなくBambooまたはTeamCity)で実行する必要があるためです。

追加情報:もちろん、これはmsbuild、c#コンパイラ、mstestがインストールされている他のすべてのマシンでも機能する必要があります。誰もがgithubからプロジェクトをチェックアウトし、msbuildを呼び出すことができ、すべてがスムーズに実行されるはずだからです。

4

3 に答える 3

3

あなたが使うことができます

$(MSBuildProgramFiles32)\Microsoft Visual Studio 11.0\Common7\Ide

これは、すべてのアセットで同じバージョン、つまり2012年のskusを使用していることを前提としています。もちろん、プロジェクト自体で他のバージョンへのフォールバックを簡単に作成できます。

msbuildの32ビットの「プログラムファイル」ディレクトリを使用するを参照してください。

于 2013-01-31T05:00:48.640 に答える
1

エレガントではありませんが、ホストにインストールされている最新のMSTest.exeを見つけるための信頼できる方法は

<MSTestPath Condition="'$(MSTestPath)'=='' And Exists('$(MSBuildProgramFiles32)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe')">$(MSBuildProgramFiles32)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe</MSTestPath>
<MSTestPath Condition="'$(MSTestPath)'=='' And Exists('$(MSBuildProgramFiles32)\Microsoft Visual Studio 13.0\Common7\IDE\MSTest.exe')">$(MSBuildProgramFiles32)\Microsoft Visual Studio 13.0\Common7\IDE\MSTest.exe</MSTestPath>
<MSTestPath Condition="'$(MSTestPath)'=='' And Exists('$(MSBuildProgramFiles32)\Microsoft Visual Studio 12.0\Common7\IDE\MSTest.exe')">$(MSBuildProgramFiles32)\Microsoft Visual Studio 12.0\Common7\IDE\MSTest.exe</MSTestPath>
<MSTestPath Condition="'$(MSTestPath)'=='' And Exists('$(MSBuildProgramFiles32)\Microsoft Visual Studio 11.0\Common7\IDE\MSTest.exe')">$(MSBuildProgramFiles32)\Microsoft Visual Studio 11.0\Common7\IDE\MSTest.exe</MSTestPath>
<MSTestPath Condition="'$(MSTestPath)'=='' And Exists('$(MSBuildProgramFiles32)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe')">$(MSBuildProgramFiles32)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe</MSTestPath>
<MSTestPath Condition="'$(MSTestPath)'=='' And Exists('$(MSBuildProgramFiles32)\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe')">$(MSBuildProgramFiles32)\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe</MSTestPath>
于 2016-04-15T02:41:56.670 に答える
0

それを指すマシン環境変数を追加して、msbuildでそれを参照できますか?したがって、変数MSTEST_HOMEを追加した場合、msbuildで$(MSTEST_HOME)を使用できますか?

于 2013-01-21T13:48:18.480 に答える