将目标框架从4.7升级到4.7.1 Nuget无法恢复包

问题描述 投票:0回答:1

我刚刚将Visual Studio 2017解决方案中所有11个项目的目标框架从.NET 4.7更改为.NET 4.7.1。但是现在,每次尝试构建时,我都会从NuGet中得到以下错误

1>------ Build started: Project: GS.Core, Configuration: Debug x64 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets(186,5): error : Your project does not reference ".NETFramework,Version=v4.7.1" framework. Add a reference to ".NETFramework,Version=v4.7.1" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
StopOnFirstBuildError: Build cancelled because project "GS.Core" failed to build.
Build has been canceled.

如果我查看.csproj文件,我确实看到目标框架已经改变。

<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>

我没有看到“TargetFrameworks”部分,只是“TargetFrameworkVersion”

只是为了笑,我试着添加一个具有该名称的密钥,就像指定的错误消息一样。

<TargetFrameworks>.NETFramework,Version=v4.7.1</TargetFrameworks>

这是个坏主意。我试图加载它时Visual Studio爆炸了。

我的默认包管理格式是“PackageReference”,如果这很重要的话。

我尝试了this question中列出的修复程序,但这没有任何效果。

有没有办法来解决这个问题?如有必要,我很乐意手动编辑项目文件。我非常想去4.7.1

.net nuget-package-restore
1个回答
5
投票

回答我自己的问题,因为经过大量的谷歌搜索,我偶然发现了MS开发者社区论坛上的答案

https://developercommunity.visualstudio.com/content/problem/317628/your-project-does-not-reference-netframeworkversio.html

罪魁祸首似乎是.OBJ文件夹中的project.assets.json文件。解决方法是删除所有bin和.OBJ文件夹并重建。 MS指出,由于有一种解决方法,这是一个低优先级的问题。

请注意,清洁解决方案没有帮助。我不得不手动删除文件夹。我猜json文件不被认为是构建的一部分,即使它存在于那里。

(我应该说我不能肯定地说这是字面上的.json文件。我看到推荐后删除了文件夹,但从未找过一个。但我猜这是ti)。

© www.soinside.com 2019 - 2024. All rights reserved.