Исключить пользовательскую информацию MSBuild из файла csproj - PullRequest
0 голосов
/ 31 января 2012

Я включил пользовательский код в файл csproj, который Zip весь проект при сборке.Я хотел бы исключить мой пользовательский код MSBuild из файла csproj во время архивации.Как это сделать?

Ответы [ 2 ]

1 голос
/ 31 января 2012

Вы можете вызвать вашу цель при запуске вашего csproj

msbuild your.csproj /target:yourZipTarget

Если вам нужно контролировать сжатие / не-архивирование для обычных сборок, вы можете добавить условие к цели сжатия

<Target Name="yourZipTarget" Condition="'$(Configuration)'!='DEBUG'">
    <!-- zipping... -->
</Target>

Приведенный выше пример запускает архивирование только при выполнении сборки RELEASE (если вы не вводите другую пользовательскую конфигурацию).

Вы можете объявить собственное свойство уровня проекта для вашего условия сжатия и указать (и переопределить значение по умолчанию) при вызове msbuild

msbuild your.csproj /property:DoZip=true

<PropertyGroup>
    <DoZip Condition=" '$(DoZip)' == '' ">false</DoZip>
</PropertyGroup>

<Target Name="yourZipTarget" Condition="'$(DoZip)'!='false'">
    <!-- zipping... -->
</Target>
0 голосов
/ 31 января 2012

Ну, есть несколько вариантов

1 - переместить пользовательский почтовый индекс из проекта

2 - у вас есть почтовый индекс, поэтому измените его

3 - использовать синтаксис msbuild для исключения файлов из ItemGroup

Трудно сказать, какое для вас лучшее решение, не видя файл проекта MSBuild и не понимая, что вы подразумеваете под "я добавил пользовательский код в файл csproj".

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