我收到此错误
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.
从公司存储库签出项目并在我的机器上重建后。此计算机上已安装 .NET Framework 4.6.1 或更高版本的更新。
这是我的机器上的所有 .NET Framework 版本(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,问题就消失了。
我从谷歌搜索中找到了这个链接并尝试了它,它解决了我的问题,所以我想我可以分享一下删除obj文件夹似乎有效。
正如论坛中所述:
我对一个旧项目也有同样的情况(在使用 git 本地移动到旧版本之后)。删除“obj”文件夹解决了问题,干净是不够的。
两位用户发现这可以解决问题。大多数人还发现进行清理,然后手动删除 obj 文件夹,然后重做 nuget 恢复似乎可以解决问题。
可以通过删除obj文件夹来解决该错误。但是,如果解决方案中有多个项目,则定位并删除所有 obj 文件夹可能会是一项繁重的工作。因此,您可以在代码存储库的根目录(或解决方案文件夹中)运行此 PowerShell 命令来递归查找并删除 obj 文件夹及其内容。
Get-ChildItem -Filter obj -Recurse -Force | Remove-Item -Recurse -Force
大多数时候,当我遇到此错误时,我只是删除或重命名 OBJ 文件夹,然后尝试以管理员身份运行 Visual Studio(没有太大区别,但当我从某些教程网站下载项目时会有所帮助)并构建应用程序再次。
但是如果这不起作用,请在项目设置/属性页面中检查 NuGet 包的版本与 .net 版本的兼容性,必须获得正确的 NuGet 包和 .net 版本是构建和编程的必要条件。此外,删除并重新安装 Visual Studio 并再次安装也永远不是一个选项,因为卸载并再次安装需要时间。
如果您使用 git bash,您可以使用此命令删除所有 obj 目录:
find -iname "obj" -type d -exec rm -fR {} \;