.Net Core MVC部署(发布)缺少视图

时间:2016-11-26 06:05:15

标签: asp.net-mvc asp.net-core asp.net-core-mvc aspnet-development-server

我正在尝试在.NET核心中发布我的MVC应用程序。我尝试了文件系统,但它缺少所有与View相关的文件,并在访问后立即抛出错误。

复制视图文件夹后,它开始工作。我不确定它是否也缺少其他网络组件。

5 个答案:

答案 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为目标。

此外,您还应该显示所得到的错误,它可能与其他许多事情(例如权限)有关。