我刚刚将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
答案 0 :(得分:2)
回答我自己的问题,因为经过大量的搜索,我在MS开发人员社区论坛上偶然发现了答案
罪魁祸首似乎是.OBJ文件夹中的project.assets.json文件。解决方法是删除所有bin和.OBJ文件夹并重建。 MS指出,由于存在解决方法,因此这是一个低优先级的问题。
请注意,清洁溶液无济于事。我必须手动删除文件夹。我猜这个json文件不算是构建的一部分,即使它位于其中。
(我应该说我不能确切地说这是.json文件。我在看到建议后就删除了这些文件夹,但从未寻找过。但是我猜那是ti)。