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

.NET 5升级至.NET 7后构建报错:Specified EntryPointExe 'Myapp.exe' 未在项目输出中找到

.NET 5升级至.NET 7后构建报错:Specified EntryPointExe 'Myapp.exe' 未在项目输出中找到

你好,我来帮你排查这个升级后遇到的构建问题。结合你描述的情况和项目配置,我整理了几个可行的解决方向,你可以逐一尝试:

1. 先确认输出文件是否真实存在

首先右键你的项目,选择「属性」→「生成」,查看当前配置(Debug/Release)的输出路径(比如bin\Debug\net7.0-windows)。手动打开这个文件夹,检查是否真的生成了Myapp.exe:

  • 如果没有生成,先检查项目是否有隐藏的编译错误(比如错误列表被过滤),解决基础编译问题后再看报错是否消失。
  • 如果exe确实存在但构建工具仍提示找不到,大概率是配置里的路径指向出了问题。

2. 调整过时的AssetTargetFallback配置

你当前的PropertyGroup里保留了.NET 5时期的AssetTargetFallback配置:

<AssetTargetFallback>net5.0-windows$(TargetPlatformVersion);$(AssetTargetFallback)</AssetTargetFallback>

在.NET 7中,这个属性的作用已经被简化,继续保留旧配置可能会干扰依赖解析和输出文件的识别。建议先注释掉这一行,再重新构建项目:

<!-- <AssetTargetFallback>net5.0-windows$(TargetPlatformVersion);$(AssetTargetFallback)</AssetTargetFallback> -->

3. 修正打包配置中的EntryPoint指向

如果你的项目涉及Appx/MSIX打包,升级后打包工具的路径配置可能没有自动更新:

  • 打开项目文件(.csproj),查找是否有硬编码的EntryPointExe属性,如果有,把固定的Myapp.exe替换为变量$(TargetFileName),这样构建系统会自动指向当前配置下的输出exe文件。
  • 同时检查是否有其他打包相关的过时属性(比如旧的TargetFramework残留),确保所有配置都统一为.NET 7标准。

4. 清理残留文件后重建

有时候旧的.NET 5输出文件会和.NET 7的输出混淆,导致构建工具出错:

  • 右键项目选择「清理」,然后手动删除项目目录下的bin和obj文件夹。
  • 重新打开Visual Studio,重新构建项目。

备注:内容来源于stack exchange,提问作者GeoFelix

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 15:48:16