溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

asp.net core3.1如何引用元包dll版本兼容性

發(fā)布時間:2021-07-02 10:35:24 來源:億速云 閱讀:161 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)asp.net core3.1如何引用元包dll版本兼容性的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

自從.netcore 3.1出來后,大家都想立馬升級到最新版本。我也是如此,微軟也對.netcore 3.1 的官方組件不斷升級,幾乎每隔幾天就會有部分元包可以升級。每次打開Nuget包管理器,“更新”的tab處總會有個數(shù)字暗示著你快點升級!一向有代碼潔癖的同學(xué)(包括我),都會毫不猶豫的點擊“全部升級”。我們總是幻想著使用更高的版本,可以獲取更牛的功能和更快的性能。

asp.net core3.1如何引用元包dll版本兼容性

可惜,夢想是好的,結(jié)局卻是殘酷的。升級后,卻發(fā)現(xiàn)有很多錯誤。.netcore 3.1的確在性能方面有極大的提升,各個方面都比.netcore 2.2強多了,但是,其生態(tài)還沒有完全的發(fā)展起來,很多第3方組件依舊還是netcore2.2的版本甚至更低。這個時候最讓人頭疼的就是包的版本問題,比如如下錯誤:

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的中文意思是“錯誤NU1605:檢測到包降級 ”。大家都知道,元包里還包含很多子的組件,多個元包之間引用的子組件版本不一致,就會造成這個錯誤。這種情況在.netcore 3.1目前的情況下經(jīng)常出現(xiàn)。

根據(jù) 官方教程 的知道方案得出解決方案如下:

強制將版本不一致的包升級到統(tǒng)一的版本,(比如我們這里的System.Threading.ThreadPool)

雙擊MuXue.Zyiz.Net.WebAPI.csproj項目,

<ItemGroup>
 <PackageReference Include="AutoMapper" Version="9.0.0" />
 <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="7.0.0" />
 <PackageReference Include="Consul" Version="0.7.2.6" />
 <PackageReference Include="FluentValidation.AspNetCore" Version="8.6.1" />
 <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.1" />
 <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.1" />
 <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.1" />
 <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.1" />
 <PackageReference Include="NLog.Web.AspNetCore" Version="4.9.0" />
 <PackageReference Include="SkyAPM.Agent.AspNetCore" Version="0.9.0" />
 <PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0" />
 <PackageReference Include="System.Text.Json" Version="4.7.0" />
 <PackageReference Include="System.Net.NameResolution" Version="4.3.0" />
 <PackageReference Include="System.Threading.ThreadPool" Version="4.3.0" />
 </ItemGroup>

看到這行代碼:

<PackageReference Include="System.Threading.ThreadPool" Version="4.3.0" />

將這個組件統(tǒng)一指定為4.3.0版本,問題就解決了。

感謝各位的閱讀!關(guān)于“asp.net core3.1如何引用元包dll版本兼容性”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI