我今天在我的电脑上安装了Visual Studio 2022.我有一个老应用,它的目标是.净4.5.我在try 构建/编译项目时看到以下错误:

错误MSB3644未找到.NETFramework,版本=v4.5的引用程序集.若要解决此问题,请安装此框架版本的开发人员包(SDK/目标软件包)或重新确定应用程序的目标.您可以在https://aka.ms/msbuild/developerpacks"下载.NET framework开发人员包

我读过:https://thomaslevesque.com/2021/11/12/building-a-project-that-target-net-45-in-visual-studio-2022/.C:\Program Files(x86)\Reference Assembly\Microsoft\Framework.NETFramework\v4.我的电脑上已经有5个了.

我已经下载了.NET 4.5开发者包:https://docs.microsoft.com/en-gb/dotnet/framework/install/guide-for-developers.当我try 运行它时,我看到:

enter image description here

还有什么我可以试试的吗?

推荐答案

因为您可能会安装更高版本的.net框架,所以安装程序可能会阻止您安装较低版本的.net框架

还有另一种方法可以try 在不重新安装的情况下修复它.

  1. Download 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. 再次运行您的项目.

Note

这种方式也可能有效.net4.0 Microsoft.NETFramework.ReferenceAssemblies.net40或其他Microsoft在功能上可能不支持的旧版本

.net相关问答推荐

使用 SSH.NET 查找具有特定文件名的最新 SFTP 文件

是否可以将 SandCastle 创建的两个页面合并到一个主页中?

线程安全性的单元测试?

在 Moq 中模拟泛型方法而不指定 T

有什么方法可以使用 .NET 应用程序使用 git 吗?

DBNull 的意义何在?

如何使用反射在 .NET 中调用重载方法

如果需要,将方案添加到 URL

创建多个线程并等待所有线程完成

在 C# 中使用委托

如何使用配置转换删除 ConnectionString

ASP.NET Core (.NET Core) 和 ASP.NET Core (.NET Framework) 的区别

单元测试 C# 保护方法

如何将 XPath 与 XElement 或 LINQ 一起使用?

资源(.resx)文件有什么好处?

如何防止任务的同步延续?

作者主签名的时间戳发现了一个建链问题:UntrustedRoot: self-signed certificate in certificate chain

NServiceBus 与 MassTransit

C#/.NET 中仅命名空间的类可见性?

多行 C# 插值字符串文字