Visual studio 2019 - публикация в папке не публикует все файлы

Использование Visual Studio 2019 Community 16.3.6

У меня есть простой проект веб-сайта ASP.Net core 3.0 (на данный момент в основном пустой), но я добавил корневую веб-папку (www) и статический файл index.html в эту папку, как показано ниже:

website0
 > www
   - index.html
 > Program.cs
 > Startup.cs

Например, когда я пытаюсь опубликовать в папке локально (в качестве теста), я указываю место назначения как:

D:\ws0

Копируются все необходимые файлы, ЗА ИСКЛЮЧЕНИЕМ папки www и любых файлов в ней.

Следовательно, когда я запускаю проект, я получаю ошибку 404, потому что статические файлы НЕ были скопированы во время операции публикации.

ПОЧЕМУ????

Любой совет будет принят во внимание.


person bdcoder    schedule 25.10.2019    source источник


Ответы (1)


Ковыряюсь в документации по адресу:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/visual-studio-publish-profiles?view=aspnetcore-3.0#folder-publish-example < / а>

Я нашел такой лакомый кусочек:

При публикации веб-приложений ASP.NET Core включаются следующие ресурсы:

- Build artifacts
- Folders and files matching the following globbing patterns:
  **\*.config (for example, web.config)
  **\*.json (for example, appsettings.json) wwwroot\**

Поскольку я использовал «www» вместо «wwwroot», я подозреваю, что папка «www» (и все, что внутри) НЕ будет скопирована.

РЕШЕНИЕ:

1. В Visual Studio щелкните правой кнопкой мыши имя проекта и выберите «Редактировать файл проекта».

2 - Включите следующую запись в файл {имя-проекта} .csproj:

<ItemGroup>
   <Include="www\**" CopyToPublishDirectory="Always"/>
</ItemGroup>

3 - Сохраните файл.

Когда вы настраиваете профиль публикации, будет включена папка «www» и все, что ниже.

person bdcoder    schedule 25.10.2019
comment
Это решило проблему для меня, но мне не нужно было включать атрибут CopyToPublishDirectory. - person Mathew Alden; 06.06.2020