【问题标题】:ASP.NET Core 2.0 webApp shows 'view Index was not found...' after publishing to iisASP.NET Core 2.0 webApp 发布到 iis 后显示“未找到视图索引...”
【发布时间】:2017-06-20 11:36:36
【问题描述】:

我最近将我的 ASP.NET Core MVC 项目迁移到了 ASP.NET Core 2.0。 Web 应用程序是使用 Visual Studio 2017 版本 15.3 预览版迁移的。

该应用程序在开发模式下运行良好(来自 Visual Studio 和使用控制台 dotnet run)但是当我发布它并将其托管在 IIS(版本 10)中时,它会抛出并错误提示:

未找到视图“索引”。搜索了以下位置: /Areas/Admin/Views/Shared/Home/Index.cshtml ...

注意:我有一个自定义路由配置,其中视图是使用自定义 ViewLocationExpander 配置的

这是我的项目结构的样子:

我尝试过的事情是:

在 .csproj 中:

<PreserveCompilationContext>true</PreserveCompilationContext>

在 Program.cs 中:

.UseContentRoot(Directory.GetCurrentDirectory())

我已将 RazorViewEngineOptions 配置如下:

在 .csproj 中包含以下内容也不起作用:

<ItemGroup>
    <Content Update="wwwroot\**\*;**\*.cshtml;appsettings.json;web.config">
        <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    </Content>
</ItemGroup>

如果我尝试手动包含 .cshtml 文件,则会引发重复错误。

我浏览了很多文章和官方 github 链接,但没有任何效果。

我在这里错过了什么吗?任何建议将不胜感激!

【问题讨论】:

  • 为避免混淆,请避免使用过时的 (MVC 6) 或令人困惑的术语(DotNetCore/.NET Core,当您实际谈论在 .NET Core 上运行的 ASP.NET Core 时)。 ASP.NET Core 是一个用于创建 Web 应用程序的 webstack。 .NET Core 是一个运行时,是 ASP.NET Core 1.x/2.x 可以在其上运行的两个之一。另一个是完整的.NET Framework
  • 当然。我认为一个普通的 .Net 开发人员会毫无困惑地理解。我什至已经包含了标签以防万一。任何方式,谢谢。
  • 它曾被称为 MVC6 和 ASP.NET 5,但它确实提高了成为 ASP.NET 4.5 和 MVC 5 继任者的期望,但事实并非如此。这是一个全新的重写,绝不兼容旧的 ASP.NET / MVC5 webstack。话虽如此,真正的 MVC6 仍然有可能出现(基于 MVC5),所以仍然调用 ASP.NET Core "MVC6" 最终会令人困惑

标签: c# asp.net-core asp.net-mvc-routing visual-studio-2017 asp.net-mvc-areas


【解决方案1】:

我终于解决了。

首先,我必须在 .csproj 文件的 PropertyGroup 中包含以下内容

<MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>

这一定是因为我的分布式视图结构。

我不知道为什么,但我还必须在发布我的应用程序后单独发布我的 Views 文件夹(Views 和 Areas)。

注意:在 .csproj 中包含 Views 文件夹以进行发布没有帮助

发表我的观点后,浏览器出现错误提示 找不到包“Microsoft.Win32.Registry”的编译库位置

因此,我不得不安装 Microsoft.Win32.Registry 包并再次发布我的文件夹。

这就是它的工作原理。

希望,它可以帮助面临类似问题的人。

【讨论】:

  • 这正是我所需要的。正如您所说,我必须单独发布我的视图文件夹和我的 wwwroot 文件夹。谢谢分享!
猜你喜欢
  • 1970-01-01
  • 2018-09-04
  • 1970-01-01
  • 2021-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多