91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

.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

北碚区| 广德县| 靖宇县| 镇安县| 阿拉尔市| 南郑县| 宁海县| 唐河县| 翁牛特旗| 资中县| 突泉县| 定日县| 牡丹江市| 太康县| 抚松县| 赣州市| 浪卡子县| 永泰县| 北碚区| 莫力| 班玛县| 微博| 琼中| 石嘴山市| 深泽县| 南汇区| 交口县| 尉犁县| 沙坪坝区| 萨嘎县| 大竹县| 西充县| 沙雅县| 溆浦县| 高雄市| 合山市| 弥渡县| 肃宁县| 老河口市| 双鸭山市| 会理县|