就在北京时间 2021 年 11 月 9 日凌晨,Visual Studio 2022 正式发布了!着急升级的小伙伴兴致勃勃地升级并卸载了原来的 Visual Studio 2019 后,发现自己的几个库项目竟然无法编译通过了。究其原因,是因为我的一些库依旧在支持古老的 .NET Framework 4.5 框架,而 Visual Studio 2022 不再附带如此古老的目标包了。
本文将说说如何继续让 Visual Studio 2022 编译古老的 .NET Framework 4.5 框架项目。
无法编译 .NET Framework 4.5 项目
为了更广泛的适用于各种项目,我的一些库兼容的框架版本是非常古老的(比如下图截取的这张)。可是卸载掉 Visual Studio 2019 只留下 Visual Studio 2022 之后这些项目就不再能编译通过了。如果点开 Visual Studio 2022 的安装程序,会发现已经删除掉了 .NET Framework 4.5 的目标包了,无法通过它安装回来。
方法一:重新安装回 .NET Framework 4.5 的目标包
重新安装 Visual Studio 2019 可以让你重新安装 .NET Framework 4.5 目标包,然而现在再去 Visual Studio 的官网,会发现下载链接已经全面替换成了新出的 Visual Studio 2022 了,那我改如何下载回来?
事实上,旧版的 Visual STudio 可以在这里下载:
- Visual Studio 2019
当然,更早的版本就算在这份文档里也找不到下载链接了;还想要下载的话可能得去 Visual Studio 订阅里下了。如果担心 Visual Studio 2019 不久后也丢失,可以自行收藏一下下载的文件。
由于你已经有一个新的主力 Visual Studio 2022 了,所以再装 Visual Studio 2019 时就不需要勾选负载了,只需要勾选 2022 版本不带的几个目标包即可:
- .NET Framework 4 目标包
- .NET Framework 4.5 目标包
- .NET Framework 4.5.1 目标包
方法二:安装 Microsoft.NETFramework.ReferenceAssemblies NuGet 包
详见:无需安装 VS2019,在 Visual Studio 2022 中编译 .NET Framework 4.5/4/3.5 这样的古老框架
本文会经常更新,请阅读原文: https://blog.walterlv.com/post/how-to-support-net45-on-vs2022-or-later.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 ([email protected]) 。