我将现有的解决方案从.NET 4.6.2升级到.NET 4.7。该解决方案取决于几个以.NET 4.6.2为目标的nuget包,因此取决于nuget System.ValueTuple包。升级到.NET 4.7后“未定义或导入预定义类型System.ValueTuple”
但是升级后,我得到这些构建错误的一大堆:
Error CS8179 Predefined type 'System.ValueTuple`2' is not defined or imported
我不能删除System.ValueTuple
包,在评论here建议,因为其他包依赖它。 (如果我强制它,他们似乎炸毁。)
有什么建议吗?
更新17年8月8日
我已经想通了,我可以删除System.ValueTuple
包,我可以得到解决编译方式。然而,我在解决方案中有十几个NuGet包,它们似乎是针对.NET 4.6.2的,因此需要System.ValueTuple
作为依赖。我可以安装这些软件,然后强制删除System.ValueTuple
软件包,但如果其中任何软件包有更新,并且我安装了更新 - 那么将再次安装System.ValueTuple
软件包,系统会停止生成,直到我再次将软件包全部移出。
换句话说,我可以做到这一切 - 但它看起来很尴尬和笨拙。当然有更好的方法来解决这个问题?
你使用什么版本的软件包?如果您更新到ValueTuple软件包的预发布版本(4.4),我希望这会得到解决。 –
在4.7之前发布VS2017和C#v7是一个巨大的失误。这个东西还没有完成,目标4.7太早。你会给我一个非常头疼的问题,我的机器上无法安装4.7并且无法获得体面的诊断。处理微软的更新最近变得非常糟糕。等一下。 –
对不起,打嗝。我们推送了一个完全支持.NET Framework 4.7的更新(稳定)System.ValueTuple包。请试试看。 –