Пропустить проект при создании решения с использованием msbuild 3.5
У меня есть решение с рядом библиотек + веб-сайт в папке.
Когда я использую msbuil против этого решения, он прекомпилирует веб-сайт в новое имя папки PrecompiledWeb. Я хочу пропустить это, просто собрать все библиотеки.
Как я могу это сделать?
2 ответа
Я бы настроил либо специальную цель, либо, возможно, другой файл msbuild.
Я использую один .msbuild
файл и несколько разных пакетных файлов, таким образом, я могу создать определенные части моего приложения или всего этого, просто используя другой пакетный файл.
В вашем .msbuild
файл, у вас может быть две цели, одна для полной сборки, а другая только для библиотек:
<Target Name="FullBuild">
<MSBuild Projects="YourSolution.sln" />
</Target>
<Target Name="LibBuild">
<MSBuild Projects="YourLibProject1.csproj" />
<MSBuild Projects="YourLibProject2.csproj" />
<MSBuild Projects="YourLibProject3.csproj" />
</Target>
Таким образом, вы можете вызвать msbuild либо с FullBuild
цель, которая будет строить все ваше решение, или с LibBuild
который будет строить конкретные проекты, которые вы хотите.
Пакетные файлы могут выглядеть так:
msbuild.exe /t:LibBuild
msbuild.exe /t:FullBuild
Вы должны быть в состоянии сделать это, создав новую конфигурацию (LibOnly) и в диспетчере конфигурации Visual Studio проверяйте только те проекты, которые хотите построить. Затем из командной строки:
msbuild.exe YourSolution.sln /p:Configuration=LibOnly
Как упоминалось в предыдущем комментарии, вы всегда можете создать свой собственный файл MSBuild, чтобы указать, какие проекты создавать. Я думаю, что это хороший подход, я не люблю создавать файлы решений.