Пропустить проект при создании решения с использованием msbuild 3.5 - PullRequest
2 голосов
/ 27 октября 2009

У меня есть решение с несколькими библиотеками + веб-сайт в папке.

Когда я использую msbuil против этого решения, он прекомпилирует веб-сайт в новое имя папки PrecompiledWeb. Я хочу пропустить это, просто собрать все библиотеки.

Как я могу это сделать?

Ответы [ 2 ]

7 голосов
/ 27 октября 2009

Я бы настроил либо специальную цель, либо, возможно, другой файл 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

5 голосов
/ 31 октября 2009

Вы должны быть в состоянии сделать это, создав новую конфигурацию (LibOnly) и в диспетчере конфигурации Visual Studio проверяйте только те проекты, которые вы хотите построить. Затем из командной строки:

msbuild.exe YourSolution.sln /p:Configuration=LibOnly

Как упомянул предыдущий комментатор, вы всегда можете создать свой собственный файл MSBuild, чтобы указать, какие проекты создавать. Я думаю, что это хороший подход, я не люблю создавать файлы решений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...