這篇文章給大家分享的是有關(guān)asp.net core3.1如何引用元包dll版本兼容性的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
自從.netcore 3.1出來(lái)后,大家都想立馬升級(jí)到新版本。我也是如此,微軟也對(duì).netcore 3.1 的官方組件不斷升級(jí),幾乎每隔幾天就會(huì)有部分元包可以升級(jí)。每次打開Nuget包管理器,“更新”的tab處總會(huì)有個(gè)數(shù)字暗示著你快點(diǎn)升級(jí)!一向有代碼潔癖的同學(xué)(包括我),都會(huì)毫不猶豫的點(diǎn)擊“全部升級(jí)”。我們總是幻想著使用更高的版本,可以獲取更牛的功能和更快的性能。
可惜,夢(mèng)想是好的,結(jié)局卻是殘酷的。升級(jí)后,卻發(fā)現(xiàn)有很多錯(cuò)誤。.netcore 3.1的確在性能方面有極大的提升,各個(gè)方面都比.netcore 2.2強(qiáng)多了,但是,其生態(tài)還沒有完全的發(fā)展起來(lái),很多第3方組件依舊還是netcore2.2的版本甚至更低。這個(gè)時(shí)候最讓人頭疼的就是包的版本問題,比如如下錯(cuò)誤:
MuXue.Zyiz.Net.WebAPI/MuXue.Zyiz.Net.WebAPI.csproj : error NU1605: Detected package downgrade: System.Threading.ThreadPool from 4.3.0 to 4.0.10. Reference the package directly from the project to select a different version.
error NU1605: Detected package downgrade的中文意思是“錯(cuò)誤NU1605:檢測(cè)到包降級(jí) ”。大家都知道,元包里還包含很多子的組件,多個(gè)元包之間引用的子組件版本不一致,就會(huì)造成這個(gè)錯(cuò)誤。這種情況在.netcore 3.1目前的情況下經(jīng)常出現(xiàn)。
根據(jù) 官方教程 的知道方案得出解決方案如下:
強(qiáng)制將版本不一致的包升級(jí)到統(tǒng)一的版本,(比如我們這里的System.Threading.ThreadPool)
雙擊MuXue.Zyiz.Net.WebAPI.csproj項(xiàng)目,
看到這行代碼:
將這個(gè)組件統(tǒng)一指定為4.3.0版本,問題就解決了。
感謝各位的閱讀!關(guān)于“asp.net core3.1如何引用元包dll版本兼容性”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!