Добавление во встроенную группу элементов ExcludeFromBuild с проектом веб-развертывания - PullRequest
10 голосов
/ 31 марта 2009

Я добавил проект веб-развертывания в свое решение, чтобы создать чистое развертывание моего веб-приложения. Это работает в основном так, как ожидалось ... то есть создает исходный код и затем копирует файлы для развертывания в папку / Release (и исключает такие вещи, как исходные файлы и мои папки .svn и т. Д.).

Но теперь я хочу явно исключить некоторые другие файлы (для простоты, скажем, один файл с именем somefile.txt). Итак, я добавляю группу элементов в файл wdproj следующим образом:

<ItemGroup>
    <ExcludeFromBuild Include="somefile.txt" />
</ItemGroup>

Это действительно исключает конкретный файл по запросу, но теперь файлы, исключенные по умолчанию, больше не исключаются. В частности, теперь все мои SVN-файлы находятся в папке Release, а также есть папка Source на одном уровне со всеми источниками в ней.

По сути, кажется, что определение группы элементов ExcludeFromBuild перезаписывает некоторый набор встроенных значений по умолчанию, а не добавляет к ним.

Не совсем шоу-стоппер, но не идеально ... Так кто-нибудь знает, как просто добавить файл в группу ExcludeFromBuild по умолчанию? Или это случай использования по умолчанию Vs. исключая все вручную Vs. удалить файлы, которые вы не сделали после сборки по умолчанию?

Ответы [ 3 ]

19 голосов
/ 03 апреля 2009

Хорошо, для тех, кто приходит посмотреть, я подумал, что должен ответить на свой вопрос ... Я не нашел точное решение, которое искал, поэтому я просто добавил все, что мне нужно, исключить вручную в группу элементов ExcludeFromBuild (для имитации какие параметры по умолчанию, казалось, делали и затем исключали мой конкретный файл). Мой список ExcludeFromBuild в итоге выглядел так:

<ItemGroup>
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\somefile.txt" />
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\obj\**\*.*" />
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\.svn\**\*.*" />
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\.svn\**\*" />
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.csproj" />
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.scc" />
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.user" />
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.vspscc" />
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.log" />
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.svclog" />
</ItemGroup>

В основном исключаются все файлы журналов, файлы пользователей / проектов, файлы svn, исходные безопасные файлы и т. Д., А также пользовательские файлы, которые я в первую очередь хотел игнорировать.

0 голосов
/ 19 сентября 2015

Да, я знаю, что это вечно, но ты пробовал это?

<ItemGroup>
    <ExcludeFromBuild Include="somefile.txt;$(ExcludeFromBuild)" />
</ItemGroup>
0 голосов
/ 02 апреля 2009

Я не уверен, поможет ли это, но команда имеет свойство Exclude, вы можете переопределить цель, которая копирует файлы, и использовать для включения / исключения того, что вам нужно.

...