如何将所有解决方案项目 .Net framework 4.5.1 升级到 4.8 Visual Studio 2019

How to upgrade all solution projects .Net framework 4.5.1 to 4.8 Visual Studio 2019

我在 Visual Studio 2019 年有很多 C# 项目的解决方案。我需要将所有项目从 .NET Framework 4.5.1 重新定位到 4.8。是否可以立即更改目标,还是我必须对每个目标分别进行更改?

PS:我试过 'TargetFrameworkMigrator',但它不适用于 (VS2019) / .net 4.8。

感谢您的帮助。

所以我在 Git 上浏览了 PR,所以你并不孤单。有人已经发布了适用于 .NET 4.8VS2019

的发布包

这是等待合并的 OPEN PRs

4.7

4.8 and VS 2019

根据提交和评论,

release 对于 VS2019 实际上有效。试一试

替换所有出现的

<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>

<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>

在所有 *.csproj 文件中。你可以用Notepad++来做。

不幸的是,VS 没有为 .NET 框架提供简单的方法,每个项目文件都有自己的设置。所以最简单的方法可能是在 VS 或任何你喜欢的文本编辑器中的目录上 "Edit -> Find and Replace- > Replace in Files"。

对于框架项目,在每个 .csproj 中你想要 <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>(来自 <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>),如果你有任何 packages.config,则有 targetFramework="net48"(来自 targetFramework="net451")。更改后需要重新加载解决方案才能让 VS 看到它们。

Target Framework Migrator 现在可用于 Visual Studio 2019 和 .Net 4.8。不幸的是不适用于 Core 或 .Net 5 / 6 ...

请记住,使用文本编辑器更新 XML 节点 <TargetFrameworkVersion> 值听起来是个不错的解决方案,考虑到 .csproj 文件的旧格式也存储了 nuget 的目标框架版本依赖项,应该更新这些以减少意外运行时错误的可能性。

更新项目目标框架后,您应该重新安装所有 nuget 包。 VS 会告诉这个,但你也可以检查这个:How to reinstall NuGet packages