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

Visual Studio 2017发布后可执行文件未更新至最新版本,求助

解决.NET Core 2.0独立部署后发布旧版本的问题

我之前在使用VS2017做.NET Core独立部署时也踩过类似的缓存坑,给你几个亲测有效的排查和解决思路:

1. 彻底清理项目构建缓存

VS的增量构建有时候会在重启后出现异常,导致没有生成最新的二进制文件:

  • 手动删除项目根目录下的bin和obj文件夹,这两个是构建缓存的核心目录,删掉后重新执行重新生成解决方案,再尝试发布。
  • 或者通过VS菜单操作:点击「生成」→「清理解决方案」,接着点击「生成」→「重新生成解决方案」,确保所有代码都被重新编译。

2. 确保发布时覆盖旧文件

独立部署的输出目录可能残留旧文件,导致运行的不是最新版本:

  • 打开发布配置界面,找到「文件发布选项」,勾选删除目标文件夹中的现有文件,这样每次发布都会清空目标目录再重新写入新文件。
  • 如果已经发布过,手动删除整个发布目标文件夹(比如bin\Release\netcoreapp2.0\win-x64\publish),再重新发布。

3. 检查发布配置的正确性

确认你的发布配置文件(.pubxml)里的关键参数是否正确:

  • 确保<SelfContained>true</SelfContained>已设置,这是独立部署的核心标识。
  • 确认<RuntimeIdentifier>和你要发布的平台匹配(比如Windows用win-x64,macOS用osx-x64),避免发布了错误平台的旧版本。
  • 可以右键发布配置文件→「编辑」,直接查看和修改这些XML参数。

4. 使用CLI发布时添加无缓存参数

如果你偶尔会用.NET Core CLI命令发布,试试加上--no-cache参数强制跳过缓存:

dotnet publish -c Release -r win-x64 --no-cache

这个命令会强制重新编译所有代码,避免使用之前的缓存构建结果。

5. 验证VS的构建输出路径

有时候发布的可能是旧的构建产物:

  • 右键项目→「属性」→「生成」,查看「输出路径」,确认这个路径下的文件是最新编译的(时间戳和你修改代码的时间一致)。
  • 对比发布配置里的「目标位置」,确保发布的是这个输出路径下的最新文件,而不是其他旧目录。

6. 清理VS自身的组件缓存

如果以上方法都没用,可能是VS本身的组件缓存出了问题:

  • 关闭所有VS窗口,找到VS的ComponentModelCache文件夹(路径一般是C:\Users\<你的用户名>\AppData\Local\Microsoft\VisualStudio\15.0_<随机后缀>\ComponentModelCache),删除里面的所有文件。
  • 重新打开VS,重新构建发布项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:13:51