如何修复“您的项目未引用“.NETFramework,Version=v4.6.1”框架...”

How to fix `Your project does not reference ".NETFramework,Version=v4.6.1" framework...`

我遇到了这个错误 Your project does not reference ".NETFramework,Version=v4.6.1" framework. Add a reference to ".NETFramework,Version=v4.6.1" in the "TargetFrameworks" property of your project file and then re-run NuGet restore. 从公司存储库中签出项目并在我的机器上重建后。
当我尝试安装 .Net461(从 here 下载)时,他们说

.NET Framework 4.6.1 or a later update is already installed on this computer.

这是我机器上的所有 .NET 框架版本 (Windows 10 1703)

PS C:\Users\longnx\Downloads> & '.\check-dotnet-framework-version (1).ps1'

PSChildName                      Version        Release
-----------                      -------        -------
v2.0.50727                       2.0.50727.4927
v3.0                             3.0.30729.4926
Windows Communication Foundation 3.0.4506.4926
Windows Presentation Foundation  3.0.6920.4902
v3.5                             3.5.30729.4926
Client                           4.7.03062      461814
Full                             4.7.03062      461814
Client                           4.0.0.0


PS C:\Users\longnx\Downloads>

我该如何解决这个错误?


2020-05-26 更新:
对于遇到此问题的任何人,我不建议这样做,但根据我的经验,我已经卸载并重新安装 visual studio,问题消失了。

我通过 google 搜索找到了这个 link 并尝试了它,它解决了我的问题,所以我想我可以分享 删除 obj 文件夹似乎有效。

正如论坛中所述:

I had the same with an old project (after using git to move to an old version locally). Deleting the 'obj' folders fixed the issue, clean is insufficient.

两个用户发现这解决了问题。大多数人还发现进行清理,然后手动删除 obj 文件夹,然后重做 nuget 恢复似乎可以解决问题。

大多数时候当我遇到这个错误时,我只是删除或重命名 OBJ 文件夹并尝试 运行 Visual Studio 作为管理员(没有太大区别,但当我从一些教程网站下载项目)并再次构建应用程序。

但如果这不起作用,请检查项目 setting/properties 页面中 NuGet 包的版本与 .net 版本的兼容性,必须获得正确的 NuGet 包和 .net 版本才能构建和编程.此外,删除并重新安装 Visual Studio 并再次安装绝不是一种选择,因为卸载和重新安装需要时间。

删除obj文件夹即可解决错误。但是,如果解决方案中有多个项目,定位并删除所有 obj 文件夹可能会很麻烦。因此,您可以 运行 在代码存储库的根目录(或解决方案文件夹中)中使用此 PowerShell 命令以递归方式查找和删除 obj 文件夹及其内容。

Get-ChildItem -Filter obj -Recurse -Force | Remove-Item -Recurse -Force