在命令行(或项目文件之外的其他位置)指定xbuild的引用

时间:2017-01-20 14:54:40

标签: linux mono

我有一个xamarin-form PCL解决方案,它还包含一个NUnit项目,该项目仅测试非GUI方面。

我在windows下开发。

现在我想在我的CI服务器上运行Linux上的NUnit测试(使用mono)。

为此我需要编译PCL项目和NUnit项目( android和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中使用。我可以以某种方式在命令行或额外文件中指定引用吗?

1 个答案:

答案 0 :(得分:1)

不是添加硬编码程序集(通过myJson.features.forEach(function(feature) { console.log("lat: " + feature.geometry.coordinates[0]); console.log("long: " + feature.geometry.coordinates[1]); }); 元素),而是将基于项目<Reference>引用添加到基于MY_App.csproj的项目中。这可以通过IDE(Visual Studio,Xamarin Studio,......)或手动编辑NUnit文件来完成。

您最终会得到.csproj,其外观如下:

ProjectReference

现在,当您使用<ProjectReference Include="..\RealmLoginKitTest\RealmLoginKitTest.csproj"> <Project>{6524A097-D064-4933-987F-76EB19AF3F57}</Project> <Name>RealmLoginKitTest</Name> <ReferenceOutputAssembly>False</ReferenceOutputAssembly> </ProjectReference> 构建基于xbuild|MSBuild的项目时,它还将构建引用的项目并将其构建工件包含在NUnit项目的输出目录中(假设您有没有关闭本地副本(false),这会在NUnit部分为此项目添加<Private>False</Private>元素。