Исключить.csproj из VisualStudio 2012 .sln при использовании Mono Compiler
Я хочу создать свое решение 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;
Поскольку мне не нужна среда тестирования для компиляции, могу ли я сказать компилятору Mono обойти определенный проект в.sln?
1 ответ
Создайте новую конфигурацию, скажите xbuild, чтобы она использовалась:
В Visual Studio создайте новую конфигурацию, исключающую проекты, которые вам не интересны. -(Build -> Configuration Manager..., выберите на платформе Active Solution: раскрывающийся список)
Используя Configuration Manager, удалите нежелательные решения из конфигурации.
Затем закройте VisualStudio, который сохранит изменения в.sln и.csproj..Sln запишет, какие проекты связаны с конфигурацией..Csproj запишет параметры конфигурации, например, определен ли TRACE или DEBUG.
Наконец, при вызове xbuild присвойте имя вашей конфигурации свойству Configuration.
Например
xbuild /p:Configuration="NoUnitTests" ServerResource.sln
Выше будут строить проекты, связанные с NoUnitTests
конфигурации.