4

VisualStudio 2012 ソリューション (.sln) を Mono でビルドしたいのですが、VisualStudio 固有のアセンブリに依存するプロジェクトをコンパイルできません。例えば

xbuild ServerResource.sln
...
HypervResourceControllerTest.cs(18,17): error CS0234: The type or namespace name `VisualStudio' does not exist in the namespace `Microsoft'. Are you missing an assembly reference?

この場合、HypervResourceControllerTest.cs(18,17) は Visual Studio テスト ツールへの参照です。

using Microsoft.VisualStudio.TestTools.UnitTesting;

コンパイルにテスト環境は必要ないので、.sln 内の特定のプロジェクトをバイパスするように Mono コンパイラに指示できますか?

4

1 に答える 1

5

新しい構成を作成し、xbuild にそれを使用するように指示します。

  1. Visual Studio で、関心のないプロジェクトを除外する新しい構成を作成します。

  2. 構成マネージャーを使用して、不要なソリューションを構成から削除します。

  3. 次に、VisualStudio を閉じます。これにより、変更が .sln および .csproj に保存されます。.sln には、構成に関連付けられているプロジェクトが記録されます。.csproj は、TRACE または DEBUG が定義されているかどうかなど、構成の設定を記録します。

  4. 最後に、xbuild を呼び出すときに、構成の名前を Configuration プロパティに割り当てます。

例えば

xbuild /p:Configuration="NoUnitTests" ServerResource.sln

上記により、構成に関連付けられたプロジェクトがビルドされNoUnitTestsます。

于 2013-08-09T13:40:47.397 に答える