首页 > 解决方案 > Azure Pipelines Build 不更新 MVC _layout 查看文件

问题描述

我使用 Azure Pipelines 自托管代理来构建和部署 MVC 项目,并将网站托管在两个不同的服务器上。问题是我为每个服务器有两个不同的共享/_layout 视图文件,并且我的任务取决于服务器(预定义的变量)替换模板(powershell 脚本)中的 _layout 文件内容。

所以 Pipeline 替换 shared/_layout 文件内容,提交更改,推送。然后开始构建任务。什么时候完成 - 发布工件,然后部署,部署的网站总是从 OLD _layout 文件中查找 JS 脚本。当我检查已发布项目中的视图文件时,我看到内容是正确的。它已正确更换。

但是当我转到 URL 时,我看到该站点仍在寻找旧的 JS 文件....这是为什么?

如果我手动发布 MVC 项目,然后将 DLL 文件复制到活动目录,一切正常。但是,当构建来自 Azure 时,它​​就不起作用了。我尝试将 Artifact 发布到本地文件系统而不是 Azure,但结果仍然相同。

为什么它无法读取新的 _Layout 视图文件?

标签: .netasp.net-mvcazure-devopsazure-pipelines

解决方案


尝试检查构建源目录中的 .csproj 文件,看看是否有如下内容,删除它们:

<ItemGroup>
    <Content Remove="Areas\Admin\Views\Shared\_Layout.cshtml" />
    <Content Remove="Views\Shared\_Layout.cshtml" />
</ItemGroup>

这里的类似情况MVC Areas not render _Layout


推荐阅读