gpt4 book ai didi

c# - ASP.NET Core 2.0 webApp 在发布到 iis 后显示 'view Index was not found...'

转载 作者:行者123 更新时间:2023-11-30 16:43:40 25 4
gpt4 key购买 nike

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

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

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

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

这是我的项目结构:

enter image description here

我尝试过的是:

在 .csproj 中:

<PreserveCompilationContext>true</PreserveCompilationContext>

在 Program.cs 中:

.UseContentRoot(Directory.GetCurrentDirectory())

我已经配置了 RazorViewEngineOptions 如下:

enter image description here

在 .csproj 中包含以下内容效果不佳:

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

如果我尝试手动包含 .cshtml 文件,它会引发口是心非的错误。

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

我是不是漏掉了什么?任何建议将不胜感激!!

最佳答案

我终于解决了。

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

<MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>

肯定是因为我的分布式Views结构。

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

注意:在用于发布的 .csproj 中包含 Views 文件夹没有帮助

发表我的观点后,浏览器报错说找不到包“Microsoft.Win32.Registry”的编译库位置

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

这就是它的工作原理。

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

关于c# - ASP.NET Core 2.0 webApp 在发布到 iis 后显示 'view Index was not found...',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44651997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com