You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

打包为NuGet包的C# WPF应用无法安装:.NET运行时检测异常求助

排查Squirrel.Windows部署时的.NET Runtime误报问题

具体排查步骤

  • 确认运行时的真实安装情况
    打开CMD执行dotnet --list-runtimes,检查输出是否包含Microsoft.WindowsDesktop.App 6.0.9 [x64对应的安装路径]。如果仅存在x86版本,x64应用会触发检测失败。
  • 核对csproj打包配置
    检查项目文件中的关键配置:
    • 确保<RuntimeIdentifier>明确设置为win-x64,不要留空或设为win-x86
    • 确认<SelfContained>的取值:若为false,依赖全局运行时;若为true,需保证打包时已包含完整的x64运行时文件
    • 检查<SquirrelWindowsPackageVersion>与运行时版本是否匹配,避免版本兼容问题
  • 验证安装包的注册表检测逻辑
    解压生成的NuGet包,查看Setup相关的检测配置,确认它读取的是x64运行时的注册表项:
    • 对应注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\dotnet\Setup\InstalledVersions\x64\sharedfx\Microsoft.WindowsDesktop.App,需存在6.0.9的子项
    • 如果安装包是32位,会读取WOW6432Node下的路径,这会导致x64运行时无法被检测到
  • 直接测试应用的运行兼容性
    将编译好的应用主程序直接放到已安装的.NET 6.0.9 x64运行时目录下启动,验证应用本身是否能正常运行,排除应用自身的依赖问题
  • 清理缓存后重新打包
    删除项目的obj、bin文件夹,以及Squirrel生成的Releases目录,重新执行打包命令,避免旧缓存的配置冲突导致异常

内容的提问来源于stack exchange,提问作者BartBB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 04:02:11