在 C# 老项目里,尤其是基于 .NET Framework 4.5 的 ASP.NET MVC、Web API,这几年我更倾向于把工具拆开用:Visual Studio 负责工程,VSCode 负责写代码。不是因为谁'更先进',而是两边各有明显短板,硬让一个工具包圆,反而容易把时间耗在配置和切换上。
AI 编码这件事,VSCode 确实更顺手
老项目里最容易被 AI 提效的地方,通常不是大架构,而是局部补全、简单重构、接口样板代码生成这一类活。这个场景下,VSCode 的优势很直接:
- 扩展生态成熟,CodyBuddy、IntelliCode、Codeium 这类插件装上就能用;
- 启动快,打开老项目时负担轻,补全响应也更干脆。
Visual Studio 当然也在补 AI 能力,但在 2022 及之前的版本里,整体还是偏'能用',离'好用'差一口气。尤其是老项目场景,IDE 本身就重,再叠加 AI 插件,体验经常不够利落。
但 VSCode 对老项目工程支持没法替代 Visual Studio
问题也很明显。VSCode 写代码舒服,不代表它适合管一个老 .NET 解决方案。
解决方案管理弱
VSCode 对 .sln 的处理远不如 Visual Studio 直观。它更像是打开一个文件夹,而不是完整理解整个解决方案。项目依赖、批量编译、配置管理这些事,还是 Visual Studio 更省心。
老框架适配不完整
.NET Framework 4.5 这类项目很多操作离不开 Visual Studio 的图形界面,比如项目属性、引用管理、web.config 相关配置。放到 VSCode 里就得自己手改文件,能做,但不算舒服,出错概率也更高。
编译和发布偏弱
VSCode 能靠 msbuild、nuget 走通编译和还原,但它没有 Visual Studio 那套一键发布、发布配置文件、IIS 部署辅助。对老项目来说,这些功能用得还挺频繁,少了之后会明显觉得别扭。
比较稳的做法,是把职责拆开
我现在更推荐的方式很简单:Visual Studio 管工程和发布,VSCode 管编辑和 AI。
工具分工
- Visual Studio:解决方案管理、项目配置、引用调整、编译发布、部署调试;
- VSCode:代码编写、AI 补全、单项目调试。
这不是最优雅的方案,但对老项目来说很实用。你不用强迫 VSCode 去做它不擅长的事,也不用逼着 Visual Studio 去承担 AI 编码体验。
VSCode 侧的配置流程
下面这套配置适合 .NET Framework 4.5 的 ASP.NET MVC / Web API 项目,目标很明确:在 VSCode 里完成 AI 编码和单项目调试。
先把环境准备好
- 安装 Visual Studio 2022,保证有
.NET 4.5开发包、msbuild、IIS Express; - VSCode 安装必要扩展:C#(Microsoft 官方)、CodeBuddy(需要登录)、.NET Install Tool、C# Dev Kit。

打开项目根目录,不要直接盯着 .sln
在 VSCode 里直接打开项目根目录,C# 扩展会自动识别 .csproj。如果项目还依赖 NuGet 包,可以在终端里执行 nuget restore 项目名.csproj,先把包还原好。
补上调试和编译配置
接着在 VSCode 里生成 和 ,把编译和调试串起来。常见做法是让 AI 帮着生成初版配置,再按项目实际情况改一下,比手写快很多。

