.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",
]
},