我想用Mono构建我的VisualStudio 2012解决方案(.sln),但它无法编译依赖于VisualStudio特定程序集的项目。 E.g。
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;
由于我不需要编译测试环境,我可以告诉Mono编译器绕过.sln中的特定项目吗?
答案 0 :(得分:5)
创建一个新配置,告诉xbuild使用它:
在Visual Studio中,创建一个排除您不感兴趣的项目的新配置。 - (Build - > Configuration Manager ...,在Active solution platform上选择:下拉列表)
使用配置管理器,从配置中删除不需要的解决方案。
接下来,关闭VisualStudio,它将保存对.sln和.csproj的更改.sln将记录与配置关联的项目。 .csproj将记录配置的设置,例如是否定义了TRACE或DEBUG。
最后,当调用xbuild时,将配置的名称分配给Configuration属性。
E.g。
xbuild /p:Configuration="NoUnitTests" ServerResource.sln
以上将构建与NoUnitTests
配置相关联的项目。