.NET 4.5项目在Visual Studio 2022中无法编译

19
今天我在我的电脑上安装了Visual Studio 2022。我有一个旧应用程序,目标是.NET 4.5。尝试构建/编译项目时,我看到以下错误消息:“Error MSB3644:未找到.NET Framework版本v4.5的引用程序集。要解决此问题,请安装此框架版本的开发人员包(SDK / Targeting Pack)或重新定向您的应用程序。您可以在以下网址下载 .NET Framework Developer Packs:https://aka.ms/msbuild/developerpacks。”
我已阅读此文:https://thomaslevesque.com/2021/11/12/building-a-project-that-target-net-45-in-visual-studio-2022/。C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5 已经存在于我的电脑中。
我已在这里下载了.NET 4.5 Developer Pack: https://learn.microsoft.com/en-gb/dotnet/framework/install/guide-for-developers。尝试运行它时,我看到了以下情况:enter image description here
我能尝试其他方法吗?

2
@Ior,不幸的是,这没有任何区别。 - w0051977
1
谢谢你提出这个问题,我之前不知道该怎么处理它。 - Irf
可能是重复的问题?https://dev59.com/jFEG5IYBdhLWcg3wOnSy - Husam Ebish
2个回答

44

因为您可能首先安装了更高版本的 .net framework,所以安装程序可能不允许您安装较低版本的 .net framework。

还有另一种方法可以尝试在不重新安装的情况下修复此问题。

  1. 下载Microsoft.NETFramework.ReferenceAssemblies.net45包文件enter image description here
  2. 将文件扩展名从microsoft.netframework.referenceassemblies.net45.nupkg修改为microsoft.netframework.referenceassemblies.net45.zip并解压缩该文件
  3. 将文件从 build\.NETFramework\v4.5\ 复制到 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
  4. 再次运行您的项目。

注意:

这种方式也适用于 .net 4.0 Microsoft.NETFramework.ReferenceAssemblies.net40 或其他 旧版本的 .net framework ,这些版本可能在未来不被 Microsoft 支持。


3
谢谢。这解决了问题。给你点赞,因为有逐步说明。 - w0051977
1
我希望我能给你100个赞,如果可以的话...这解决了我的问题,我以为这只是在我的机器上发生,因为我是新来的项目..最近的拉取某种方式把它搞砸了,我已经搜索了几个小时,最终到达了这里..非常感谢。 - Irf
1
我也用过这种方法来处理 .net 3.5。有效! - Rots
1
我完成了这个技巧,点赞加一。谢谢。 - VnDevil

3
如果您想要一种不那么"hacky"的方式,另一个选择是下载VS2017 Build Tools并仅安装.NET Framework 4.5 Targeting Pack(从选项卡Individual Components)。这适用于Visual Studio 2022,因为它会在需要时安装参考程序集。

enter image description here


改变游戏规则 - 点赞 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接