Ответ 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
из предыдущей сборки, они будут дублироваться снова в новом сборке, пока путь не станет слишком длинным.