Как исключить некоторые проекты из здания?
У меня есть 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, чтобы пропустить проекты, основанные на свойстве $().