亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

.NET?6的Nuget包驗證怎么用

發布時間:2022-03-14 13:34:44 來源:億速云 閱讀:170 作者:iii 欄目:開發技術

這篇文章主要介紹“.NET 6的Nuget包驗證怎么用”,在日常操作中,相信很多人在.NET 6的Nuget包驗證怎么用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”.NET 6的Nuget包驗證怎么用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Demo

使用方式也非常簡單,只需修改項目文件,加上EnablePackageValidation屬性:

<EnablePackageValidation>true</EnablePackageValidation>

包驗證工具提供了三種驗證器:

  • Baseline version validator:根據先前發布的穩定版本的軟件包驗證類庫項目。

  • Compatible runtime validator:驗證特定于運行時的實現程序集是否彼此兼容以及是否與編譯時程序集兼容。

  • Compatible framework validator: 驗證針對一個框架版本編譯的代碼同樣可以在包中的所有其他框架版本上運行。

以Baseline version validator為例。假設1.0.0版本有如下方法:

public class Class1
{
    public void Demo(string param1)
    { 
        Console.WriteLine("Demo 1.0.0: {param1}");
    }
}

當我們接到需求,為Demo方法增加了參數:

public class Class1
{
    public static void Demo(string param1, string param2)
    {
        Console.WriteLine("Demo 1.1.0: {param1} {param2}");
    }
}

代碼邏輯沒有問題,但是當我們發布1.1.0版本后,而引用了這個包的項目也包含引用過1.0.0版本的其他類庫。那么運行時很可能收到如下異常:

.NET?6的Nuget包驗證怎么用

現在讓我們加上Baseline version validator。修改類庫項目文件內容如下:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
   <PackageVersion>1.1.0</PackageVersion>
   <EnablePackageValidation>true</EnablePackageValidation>
   <PackageValidationBaselineVersion>1.0.0</PackageValidationBaselineVersion>
  </PropertyGroup>

</Project>

PackageValidationBaselineVersion就是用于對比的基線版本。

再次使用dotnet pack打包,你將會收到類似如下錯誤提示:

error CP0002: Member 'ClassLibrary1.Class1.Demo(string)' exists on [Baseline] lib/net6.0/ClassLibrary1.dll but not on lib/net6.0/ClassLibrary1.dll

按照消息提示的那樣,我們可以修改成如下代碼進行修復:

public class Class1
{
    public static void Demo(string param1)
    {
        Demo(param1,"");
    }
    public static void Demo(string param1, string param2)
    {
        Console.WriteLine("Demo 1.1.0: {param1} {param2}");
    }
}

到此,關于“.NET 6的Nuget包驗證怎么用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

健康| 都兰县| 太白县| 古田县| 锡林浩特市| 台中市| 丹凤县| 依安县| 大竹县| 东辽县| 三都| 灵台县| 东乡县| 贵德县| 德化县| 大埔区| 特克斯县| 兴城市| 滨州市| 三原县| 洛川县| 东方市| 凤翔县| 桐梓县| 泗水县| 清丰县| 江都市| 原平市| 洛隆县| 武城县| 金山区| 阿合奇县| 新龙县| 江陵县| 商洛市| 延津县| 宜君县| 庐江县| 仁怀市| 英吉沙县| 博客|