我正在尝试在.NET核心中发布我的MVC应用程序。我尝试了文件系统,但它缺少所有与View相关的文件,并在访问后立即抛出错误。
复制视图文件夹后,它开始工作。我不确定它是否也缺少其他网络组件。
答案 0 :(得分:5)
确保Project {.json的Views
中有PublishOptions
。
如果要维护区域内的视图,请确保添加了Areas/**/Views
以下示例 -
"publishOptions": {
"include": [
"wwwroot",
"web.config",
"Views",
"Areas/**/Views",
"appsettings.json",
]
},
看看这是否有帮助。
答案 1 :(得分:2)
编辑your.csproj文件,并将PreserveCompilationContext添加为true,将MvcRazorCompileOnPublish添加为false
Start-Process "myurl"
然后视图将包含在发布中
答案 2 :(得分:0)
区域不能以这种方式工作......所以添加
区/ ** /浏览次数
它可能不适合你,它不适合我。
"publishOptions": {
"include": [
"wwwroot",
"web.config",
"Views",
"Areas/**/Views",
"appsettings.json",
]
},
如果你用它替换它,肯定会有效..
"publishOptions": {
"include": [
"wwwroot",
"web.config",
"Views",
"Areas/**/Views/**/*.cshtml",
"appsettings.json",
]
},
答案 3 :(得分:0)
编辑您的项目并添加
<pre>
MvcRazorCompileOnPublish=false
</pre>
在xml文件属性组中
这将强制照常将视图文件发布为.cshtml文件。
注意:dll中的预编译视图在运行时更快
答案 4 :(得分:0)
使用.Net Core MVC发布View文件夹时,假设您不打算使用它,而是应该有一个文件yourprojectname.Views.dll,检查是否有此dll。
取决于您向何处发布内容,必须以该操作系统https://docs.microsoft.com/en-us/dotnet/core/rid-catalog为目标。
此外,您还应该显示所得到的错误,它可能与其他许多事情(例如权限)有关。