我將現有的解決方案從.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包。請試試看。 –