发布到 Azure 应用服务后,Razor 页面应用程序中缺少导航栏

问题描述 投票:0回答:0

我有一个 razor pages 应用程序,我主要使用默认的东西,但实际上我也在使用 Blazorise 组件。当我从 Visual Studio 启动应用程序时,一切都运行完美。但是,当我将应用程序发布到 Azure 时,应用程序会加载,但它只向我显示 razor 组件,即 @page“/”文件,而不是 MainLayout。在这种情况下,侧面的导航栏和顶部栏完全消失了。我搜索了又搜索,但没有找到任何有用的信息。它正在使用 .Net 7.0 。 App.Razor 未修改。

这是我的 _Host.cshtml 页面

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <base href="~/" />
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css">

    <link href="_content/Blazorise/blazorise.css" rel="stylesheet" />
    <link href="_content/Blazorise.Bootstrap5/blazorise.bootstrap5.css" rel="stylesheet" />
    <link href="_content/Blazorise.LoadingIndicator/blazorise.loadingindicator.css" rel="stylesheet" />
    <link href="_content/Blazorise.Snackbar/blazorise.snackbar.css" rel="stylesheet" />
    <link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
    <link href="css/site.css" rel="stylesheet" />
    <link href="AppName.styles.css" rel="stylesheet" />
    <link rel="icon" type="image/png" href="favicon.png" />
    <component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
</head>
<body>
    <component type="typeof(App)" render-mode="ServerPrerendered" />

    <div id="blazor-error-ui">
        <environment include="Staging,Production">
            An error has occurred. This application may no longer respond until reloaded.
        </environment>
        <environment include="Development">
            An unhandled exception has occurred. See browser dev tools for details.
        </environment>
        <a href="" class="reload">Reload</a>
        <a class="dismiss">🗙</a>
    </div>

    <script src="_framework/blazor.server.js"></script>
    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.6.3.min.js" type="text/javascript"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-/bQdsTh/da6pkI1MST/rWKFNjaCP5gBSY4sEBT38Q/9RBh9AH40zEOg7Hlq2THRZ" crossorigin="anonymous"></script>

</body>

这是页面的 F12 输出,该页面未正确显示并提取了相关片段:

<div class="page" b-i2o9dhowsh=""><div class="sidebar" b-i2o9dhowsh=""><!--!--><div class="top-row ps-3 navbar navbar-dark" b-lbf1yz0eya=""><div class="container-fluid" b-lbf1yz0eya=""><!--!--><a class="navbar-brand" href="" b-lbf1yz0eya="">MTT Video Files</a>
        <button title="Navigation menu" class="navbar-toggler" b-lbf1yz0eya=""><!--!--><span class="navbar-toggler-icon" b-lbf1yz0eya=""></span></button></div></div><!--!-->

<div class="collapse nav-scrollable" b-lbf1yz0eya=""><nav class="flex-column" b-lbf1yz0eya=""><div class="nav-item px-3" b-lbf1yz0eya=""><!--!--><a href="" class="nav-link active"><!--!--><span class="oi oi-home" aria-hidden="true" b-lbf1yz0eya=""></span> Home
            </a></div><!--!-->
        <div class="nav-item px-3" b-lbf1yz0eya=""><!--!--><a href="fileuploads" class="nav-link"><!--!--><span class="oi oi-cloud-upload" aria-hidden="true" b-lbf1yz0eya=""></span> File Upload
            </a></div><!--!-->
        <div class="nav-item px-3" b-lbf1yz0eya=""><!--!--><a href="files" class="nav-link"><!--!--><span class="oi oi-cloud" aria-hidden="true" b-lbf1yz0eya=""></span> Files Management
            </a></div><!--!-->
        <div class="nav-item px-3" b-lbf1yz0eya=""><!--!--><a href="translate" class="nav-link"><!--!--><span class="oi oi-globe" aria-hidden="true" b-lbf1yz0eya=""></span> Translate Documents
            </a></div><!--!-->
        <div class="nav-item px-3" b-lbf1yz0eya=""><!--!--><a href="translatestatus" class="nav-link"><!--!--><span class="oi oi-task" aria-hidden="true" b-lbf1yz0eya=""></span> Translation Status
            </a></div></nav></div></div><!--!-->

    <main b-i2o9dhowsh=""><!--!--><div class="top-row px-4" b-i2o9dhowsh=""><a href="https://docs.microsoft.com/aspnet/" target="_blank" b-i2o9dhowsh="">About</a></div>

        <article class="content px-4" b-i2o9dhowsh=""><!--!--><!--!--><!--!--><!--!-->

<!--!--><h1 tabindex="-1">Application</h1>

<br>
<br>

<br>

<!--!--><h3>Use the navigation bar to do the following</h3>
<br>
<!--!--><a href="fileuploads">Upload files </a>
<br>
<!--!--><a href="files">Manage Files (including downloads)</a>
<br>
<!--!--><a href="translate">Translate Existing documents</a></article></main></div>

很高兴分享更多,但不确定你想看到什么 :) 非常感谢任何帮助,因为这让我很困惑。

我曾多次尝试重建、清理、重新发布。

更新 - 我“弄清楚”了问题,但我仍然不知道为什么。在构建时,应用程序会在 wwwroot 目录的根目录中生成一个名为 App.styles.css 的文件。这是因为 [CSS 隔离] 1 并且是设计使然。问题是它生成这些名称中带有 b- 的随机类结构标识符。 HTML 部分中的 b 值引用(请参阅上面的 b-lbf1yz0eya)不正确。我本地开发环境中的 App.style.css 文件具有正确的名称。因此,为了修复它,我使用了 Kudu 控制台,并将 Azure App Service 中文件的内容替换为我本地开发副本中的内容,BOOM 一切又恢复正常了……可能不会在更新之间持续存在,但在至少我知道...

razor navbar azure-appservice
© www.soinside.com 2019 - 2024. All rights reserved.