将我的 WebApp 从 NET5 升级到 NET6 后,尝试将我的 WebApp 推送到 Azure AppService 时,出现 NETSDK1152 错误:
找到多个具有相同相对路径的发布输出文件:C:...\src\ProjA_ViewImports.cshtml、C:...\src\ProjB_ViewImports.cshtml、C:...\src\ProjC_ViewImports.cshtml
问题中的项目是 Razor 类库 (Project Sdk="Microsoft.NET.Sdk.Razor"),它们都被常规 Web 应用程序 () 引用。有问题的文件是 _ViewImport.cshtml 文件,其中包含我的视图的常见使用/导入。它们只有我从未更改过的标准属性(操作 -> 内容,复制到输出目录 -> 不复制)。
在更新到 NET6 之前,无论是在我的本地计算机上还是在 Azure 上(发布和运行应用程序),一切都完美无缺。升级到 .NET6 后,我开始收到上述错误。
但是,这只发生在我使用发布功能时(或者当 CI/CD 被推送到远程 git repo 时)。如果我在本地使用 dotnet publish,一切似乎都可以正常发布。
尝试通常的建议,关闭错误(如建议的,例如,here),并没有为我解决任何问题。
除了完全摆脱 _ViewImport.cshtml 文件或重组项目之外,我不知道如何在保持结构不变的同时潜在地解决这个问题。