首页 > 解决方案 > 在分支之间转换时生成错误:您的项目未引用“.NETFramework,Version=v4.7.2”框架

问题描述

我们正在使用 Git,我们有一个针对完整网络框架的解决方案。几天前,我开始将解决方案迁移到 .net 核心。不幸的是,出现了一些事情,让我回到了主分支(其中包含完整的 .NET 框架的代码)。每当我尝试构建应用程序时,都会收到以下错误:

1>D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets(186,5): 错误:您的项目没有引用“.NETFramework,版本=v4.7.2" 框架。在 project.json 的“frameworks”部分添加对“.NETFramework,Version=v4.7.2”的引用,然后重新运行 NuGet 还原。

我已经尝试清理 nuget 包,运行 git reset,但似乎没有任何帮助。知道发生了什么吗?

标签: c#.netgitbuild.net-core

解决方案


在将某些项目从 4.6.2 升级到 4.7.2 时,我遇到了类似的问题——这发生在我们针对完整框架的 ASP.Net Core 解决方案和我们的 WPF 解决方案中。

最初似乎是随机项目出现此错误,其他具有几乎完全相同 csproj 的项目构建良好,而其他项目则失败了。消息中的“重新运行 NuGet 还原”也让我走错了路(其中一些项目甚至没有 NuGet 引用......)

该问题似乎源于包含 project.assets.json 文件的项目 obj 文件夹,我不确定它何时生成 - 可能是过去的遗物,清理项目并不会删除它。该文件指向以前的框架,在我的例子中是 4.6.2 -手动删除每个无法构建的项目的 bin/obj 文件夹,然后重新构建为我解决了这个错误。这也可以解释为什么当我出于理智而克隆存储库时,它也构建得很好。


推荐阅读