4

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

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

4

5 回答 5

5

确保你有ViewsPublishOptions的 Project.json。

如果您在区域内维护视图,请确保您已添加Areas/**/Views

下面的示例-

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

看看这是否有帮助。

于 2016-11-26T11:35:41.447 回答
2

编辑 your.csproj 文件并将 PreserveCompilationContext 添加为 true 并将 MvcRazorCompileOnPublish 添加为 false

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

然后视图将包含在发布中

于 2020-03-19T12:04:02.297 回答
0

区域不能以这种方式工作......所以添加

区域/**/查看次数

它可能不适合你,它不适合我。

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

如果你用这个替换它,它肯定会工作..

 "publishOptions": {
    "include": [
      "wwwroot",
      "web.config",
      "Views",
      "Areas/**/Views/**/*.cshtml",
      "appsettings.json",
    ]
  },
于 2017-06-24T20:48:49.423 回答
0

使用 .Net Core MVC 发布 View 文件夹时不应该去,而是应该有一个文件 yourprojectname.Views.dll,检查你是否有这个 dll。

根据您发布给您的位置,您必须针对该操作系统https://docs.microsoft.com/en-us/dotnet/core/rid-catalog

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

于 2019-03-01T12:50:30.053 回答
0

编辑您的项目并添加

<pre>
MvcRazorCompileOnPublish=false 
</pre>

在 xml 文件属性组中

这将强制像往常一样将视图文件发布为 .cshtml 文件。

注意:dll中的预编译视图在运行时更快

于 2018-07-29T19:50:14.863 回答