.NET 8.0 升级导致 WinForms 中的 Blazor Hybrid 在 ClickOnce 发布后在开发路径中寻找 wwwroot 文件

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

我遇到了以 Windows 窗体表单托管的 Blazor 混合应用程序的问题。当我将项目升级到.NET 8.0 后,这个问题就出现了。具体来说,应用程序的 ClickOnce 发布版本错误地尝试从我的开发环境输出路径中的

wwwroot
目录访问静态文件,而不是使用已发布包中的文件。

背景:

  • 原始状态:升级之前,应用程序在以前的.NET版本中可以正常运行。
  • 升级过程:我首先通过更新 Visual Studio 2022 升级到 .NET 8.0,然后将我的 .csproj 以及 ClickOnce 配置文件重新定位到 .NET 8,最后更新到最新的 NuGet 包。
  • 问题:升级后,当我使用 ClickOnce 发布应用程序并运行它时,它似乎正在从我的静态路径中的
    wwwroot
    文件夹中查找静态文件(如 CSS、JS 等)开发机。

观察:

  • 此问题仅发生在用户计算机上运行的 ClickOnce 发布版本中。在开发环境中,一切都按预期进行,因为路径确实存在。
  • 升级过程中没有对项目配置或文件路径进行相关更改。
  • 在 .NET 8.0 升级之前,应用程序的行为正常且符合预期。

尝试解决:

  • 我已检查发布配置文件和项目配置,以了解升级过程中可能已更改的任何特定于路径的设置。
  • 确保
    wwwroot
    文件夹包含在 ClickOnce 发布设置中。
  • 搜索了类似问题,但没有找到任何与 .NET 8.0 升级和 Blazor 混合应用程序具体相关的问题。

问题:

  1. 是否有人在 .NET 8.0 中遇到过 Blazor 混合应用程序的类似问题,特别是在使用 ClickOnce 进行发布时?
  2. .NET 8.0 中是否有任何已知的更改可能会影响 ClickOnce 一般如何处理
    wwwroot
    文件夹或静态文件路径?
  3. 我可以采取哪些潜在的解决方案或故障排除步骤来解决此路径问题?

任何见解或建议将不胜感激。预先感谢您的帮助!

winforms clickonce .net-8.0 blazor-hybrid
1个回答
0
投票

如前所述,该问题正在调查中

该问题来自于从 VS 17.8.0 开始添加到单击一次发布的进程中的特定 json 文件。作为解决方法,您可以在运行时删除位于应用程序目录中的文件 ApplicationName.staticwebassets.runtime.json 。

© www.soinside.com 2019 - 2024. All rights reserved.