2017-01-20 12 views
1

私は、非GUIの側面だけをテストするNUnitプロジェクトも含むxamarin-forms PCLソリューションを持っています。コマンドライン(またはプロジェクトファイル以外の場所)でxbuildの参照を指定する

私はWindowsで開発中です。

今、私はCIサーバ上でlinux(monoを使用)でNUnitテストを実行したいと思います。

このためには、PCLプロジェクトとNUnitプロジェクトをコンパイルする必要があります(ではなく、アンドロイドとiOSの)。

NUnitのプロジェクト内のxbuildを実行している場合、それは私に語った:

AppTests.cs(1,7): error CS0246: The type or namespace name `MY_App' could not be found. Are you missing an assembly reference? 

(MY_APPがPCLプロジェクトの名前です)。 今すぐ追加できます:

<Reference Include="My_App"> 
    <HintPath>..\My-App\MY_App\bin\Release\MY_App.dll</HintPath> 
</Reference> 

それが動作します。

私の質問:Linux用のプロジェクトファイルを調整する以外の方法はありますか?これらのプロジェクトファイルの主な目的は、Visual Studioから使用することです。コマンドラインや余分なファイルで参照を何とか指定することはできますか?

+0

NUnitプロジェクトの出力ディレクトリ(ローカルコピーをオフにした(false))は、このプロジェクトのReferenceセクションに<Private>False</Private>要素を配置していたはずです。あなたの 'NUnit'プロジェクトは、 MY_App.csproj'? – SushiHangover

+0

ありません。ビジュアルスタジオにそれを追加する必要がありますか? – Nathan

答えて

1

の代わりに(<Reference>素子を介して)ハードコードされたアセンブリを追加し、あなたのMY_App.csprojあなたNUnitベースのプロジェクトへのためプロジェクトベースの参照を追加します。これは、IDE(Visual Studio、Xamarin Studio、....)を使用するか、手動で.csprojファイルを編集することで実行できます。あなたはNUnitベースのプロジェクトをビルドするxbuild|MSBuildを使用する場合さて、それはまた、参照先プロジェクトをビルドします

<ProjectReference Include="..\RealmLoginKitTest\RealmLoginKitTest.csproj"> 
    <Project>{6524A097-D064-4933-987F-76EB19AF3F57}</Project> 
    <Name>RealmLoginKitTest</Name> 
    <ReferenceOutputAssembly>False</ReferenceOutputAssembly> 
</ProjectReference> 

とでそのビルド成果物が含まれています

あなたは次のようになりますProjectReferenceで終わるだろう

関連する問題