Пакет веб-развертывания: пропускать файлы при развертывании

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

Я могу исключить папку, добавив дополнительные параметры при выполнении foo.deploy.cmd в пакете, например:

 .\foo.deploy.cmd /T """-skip:Directory=\\logs"""

Кажется, это работает. Но я не могу понять, как включить эту конфигурацию в сам пакет, чтобы она применялась автоматически.

У меня есть сайт Asp.net Core на платформе .net 4.7. Я использую Visual Studio 2019 с профилем публикации pubxml.

Я пробовал добавить MsDeploySkipRules в pubxml, но похоже, что они не передаются в параметры пакета. Я не уверен, должен ли MsDeploySkipRules работать с «Пакетом веб-развертывания» или только с «Веб-развертыванием»?

Изменить: проблема может быть связана с тем, что я использую ядро ​​Asp.net. Кажется, что MsDeploySkipRules применяется в обычном проекте asp.net (добавленном в сгенерированный сценарий deploy.cmd), но не в том случае, если я вставляю то же самое в файл основного проекта asp.net.


person JacquesB    schedule 19.03.2020    source источник


Ответы (1)


Вы можете попробовать добавить приведенный ниже код в свой файл .csproj, чтобы пропустить папку во время публикации.

    <ItemGroup>

    <Content Remove="wwwroot\test\**" />
  </ItemGroup>

также установите для существующего файла значение true:

введите здесь описание изображения

ASP.NET Core: исключение или включение файлов при публикации

person Jalpa Panchal    schedule 20.03.2020
comment
Кажется, это работает для классических проектов ASP.Net, но не для проектов ASP.Net Core. - person JacquesB; 21.03.2020