Я хочу запретить сборку определенных проектов в рамках решения (в конфигурации TeamCity Build, чтобы оптимизировать скорость обратной связи Commit Build, если вы должны знать).
Я в курсемеханизма конфигураций решений, но не нужно заставлять множество файлов .sln
заканчиваться каждой перестановкой вещей, которые я хочу отключить.У меня есть правило, основанное на Конвенции, где я хочу сказать: «Если я делаю компоновку коммитов, я не хочу делать финальную упаковку установщика».(И я не хочу разбивать его на отдельное решение).
Я бы предпочел не использовать решение, включающее поиск и замену, в файле .sln
или в созданном файле .proj
через [MsBuildEmitSolution][1]
.Мне известны вопросы, которые охватывают готовое решение и этот слегка связанный вопрос .
Я вижу, MSBuild /v:diag
говорит:
2>Target "Build" in file "Z.sln.metaproj" from project "Z.sln" (entry point):
Using "MSBuild" task from assembly "Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
Task "MSBuild"
Global Properties:
BuildingSolutionFile=true
CurrentSolutionConfigurationContents=<SolutionConfiguration>
<ProjectConfiguration Project="{C83D035D-169B-4023-9BEE-1790C9FE22AB}" AbsolutePath="X.csproj" BuildProjectInSolution="True">Debug|AnyCPU</ProjectConfiguration>
<ProjectConfiguration Project="{15E7887D-F1DB-4D85-8454-E4EF5CBDE6D5}" AbsolutePath="Y.csproj" BuildProjectInSolution="True">Debug|AnyCPU</ProjectConfiguration>
</SolutionConfiguration>
Итак, вопрос в следующем:
Есть ли аккуратный способ заставить меня заменить XPath или подобный, чтобы иметь эффект изменения BuildProjectInSolution="
True
"
до BuildProjectInSolution="
False
"
для проекта Y выше
Если это не так, то существует ли относительно простойя могу выполнить редактирование в файле .ccproj
(пакет Azure 1.4) или .csproj
(общий проект), чтобы эффекты (включая запуск зависимых проектов) проекта были включены в командной строке msbuild Z.sln
build buildбыть аннулированным?