我有一个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中使用。我可以以某种方式在命令行或额外文件中指定引用吗?
答案 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>
元素。