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

时间:2019-06-10 15:27:52

标签: c# .net msbuild nuget nuget-package-restore

我收到此错误 从公司存储库中签出项目并在我的计算机上重建后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或更高版本的更新已安装在此计算机上。

这是我计算机上的所有.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>

如何解决此错误?

3 个答案:

答案 0 :(得分:3)

在大多数情况下,我遇到此错误时,我只是删除或重命名OBJ文件夹,然后尝试以管理员身份运行Visual Studio(并没有多大区别,但是当我从一些教程网站下载项目时会有所帮助)并进行构建再次应用。

但是,如果这样不起作用,则在项目设置/属性页面中检查NuGet软件包与.net版本的兼容性,必须获取正确的NuGet软件包和.net版本才能进行构建和编程。同样,删除并重新安装Visual Studio并重新安装也不是不可能的选择,因为重新安装并重新安装需要花费时间。

答案 1 :(得分:2)

我从Google搜索中找到了这个link,并尝试了一下,它解决了我的问题,所以我想我可以分享一下删除obj文件夹的方法。

论坛中的声明

  

我从Google搜索中找到了此链接,并尝试了它,它解决了我的问题,所以我想我可以分享一下删除obj文件夹的方法。

两个用户发现此问题已解决。

大多数人还发现先清理干净,然后手动删除obj文件夹,然后重做nuget还原似乎可以解决此问题。

答案 2 :(得分:1)

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

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