.Net Core MVC Развертывание (публикация) отсутствующих представлений

Я пытаюсь опубликовать свое приложение MVC в ядре.NET. Я попробовал Файловую систему, но ей не хватает всех файлов, связанных с View, и выдает ошибку сразу после доступа.

После копирования папки просмотра она начала работать. Я не уверен, что в нем отсутствуют и другие веб-компоненты.

3 ответа

Убедитесь, что у вас есть Views в вашем PublishOptions Project.json.

Если вы поддерживаете представления в областях, убедитесь, что вы добавили Areas/**/Views

Образец ниже-

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

Посмотрите, поможет ли это.

Отредактируйте файл your.csproj и добавьте PreserveCompilationContext как true и MvcRazorCompileOnPublish как false

<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<PreserveCompilationContext>true</PreserveCompilationContext>
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
</PropertyGroup>

тогда просмотры будут включены в публикацию

Отредактируйте свой проект и добавьте

<pre>
MvcRazorCompileOnPublish=false 
</pre>

в группе свойств файла xml

это заставит публиковать файлы представления как файл.cshtml как обычно.

Примечание: предварительно скомпилированные представления в dll быстрее во время выполнения

С.Net Core MVC при публикации папки View не предполагается идти, вместо этого у вас должен быть файл yourprojectname.Views.dll, проверьте, есть ли у вас эта dll.

В зависимости от того, где вы публикуете, вы должны ориентироваться на эту ОС https://docs.microsoft.com/en-us/dotnet/core/rid-catalog.

Также вы должны показать ошибку, которую вы получаете, может быть связано со многими другими вещами, такими как разрешение.

Области не работают таким образом... Так что добавление

Районы /**/ Просмотров

Это может не сработать для вас, это не для меня.

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

Если вы замените это на это, оно точно будет работать..

 "publishOptions": {
    "include": [
      "wwwroot",
      "web.config",
      "Views",
      "Areas/**/Views/**/*.cshtml",
      "appsettings.json",
    ]
  },
Другие вопросы по тегам