Подтвердить что ты не робот

ASP.NET Core RC2 Area не опубликован

Итак, я просто обновил свое приложение, чтобы использовать ASP.NET Core RC2. Я опубликовал его с помощью Visual Studio и заметил, что мой раздел не опубликован:

Этот снимок от src\MyProject\bin\Release\PublishOutput:

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

И вот мой Area, названный Admin в Visual Studio:

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

Я пропустил какой-то шаг или что?

4b9b3361

Ответ 1

Вам нужно настроить раздел publishOptions project.json, чтобы включить папку Areas, которая не включена в шаблон по умолчанию:

Пример:

"publishOptions": {
  "include": [
    "wwwroot",
    "Views",
    "appsettings.json",
    "web.config",
    "Areas"
  ],
  "exclude": [ "bin" ]
}

Обновление

Если вы хотите, чтобы ваши контроллеры и другие файлы .cs не были включены, вы можете сделать черный список с exclude свойством publishOptions следующим образом:

"publishOptions": {
  "include": [ "wwwroot", "Views", "appsettings.json", "web.config", "Areas" ],
  "exclude": [ "**.user", "**.vspscc", "**.cs", "bin" ]
}

Если вы предпочитаете более ограничительную безопасность, вы можете просто переименовывать файлы .cshtml, а не включать всю папку Areas:

"publishOptions": {
  "include": [ "wwwroot", "**.cshtml", "appsettings.json", "web.config" ],
  "exclude": [ "bin" ]
}

Примечание

Будьте осторожны с использованием подстановочных знаков типа **.cshtml, поскольку они будут включать все файлы во все подкаталоги, включая каталог bin. Если у вас есть какие-либо представления в вашей папке bin из предыдущей сборки, они будут дублироваться снова в новом сборке, пока путь не станет слишком длинным.

Ответ 2

Добавление областей скопирует все, включая файлы .cs.

поэтому следует добавить "Areas/**/Views/**/*.cshtml" и "Areas/ * /.cshtml" в опции публикации вместо "Areas"