Как исключить некоторые проекты из здания?

У меня есть X проектов в решении: AllPlatformProject1, AllPlatformProject2... ProjectOnlyForWindows1, OnlyForWindows2... ProjectNotLinux1, ProjectNotLinux2...

Я хочу исключить "OnlyForWindows" и "NotLinux", но как? Я хочу использовать xbuild и быть в состоянии сделать это для всех целей.

2 ответа

Вы не можете сделать это с одним слн. Обычно люди создают несколько решений, даже в одном каталоге.

Everything.sln
WindowsCentric.sln
LinuxCentric.sln

что-то вроде того.

Суть в том, что...... когда вы добавляете "ссылку по проекту", оба проекта должны быть в файле.sln.

Вы пытались использовать разные конфигурации для сопряжения с вашими целями и опускать конфигурации из конкретных проектов? Пример:

Конфигурации решения:

 LinuxDebug
 LinuxRelease
 WindowsDebug 
 WindowsRelease

И затем вы говорите решению опустить проекты linux из конфигураций Windows* и наоборот?

Я признаю, я не использовал xbuild, но этот подход работает в MSBuild, если вы используете решения, а не обходные файлы proj. В случае файлов Proversal Traversal вы можете просто добавить условные выражения во включения ItemGroup, чтобы пропустить проекты, основанные на свойстве $().

Другие вопросы по тегам