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

溫馨提示×

溫馨提示×

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

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

如何解析nuget nuspec清單

發布時間:2021-11-16 09:57:05 來源:億速云 閱讀:212 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關如何解析nuget nuspec清單,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創建NuGet包

在創建一個NuGet包之前我們應該先創建一個以.nuspec為后綴的xml清單文件,這個清單文件描述了包的內容,在安裝NuGet包的過程中這個清單文件扮演者很重要的角色。實際上它的作用就像app.config一樣,并且是不可或缺的一部分,因此在了解如何創建一個NuGet包之前很有必要了解一下什么是nuspec清單文件。

什么是.nuspec清單文件

nuspec文件是一個xml格式的清單文件,它用于描述包的內容和驅動包的生成過程。下面是一個典型的nuspec文件定義:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <!-- 包的id,在托管庫內必須唯一 -->
    <id>xxx.xxx.xxx</id>

    <!-- 解析依賴項時使用的包版本號 -->
    <version>1.0.0.1</version>

    <!-- 在庫中顯示的作者 -->
    <authors>nizhenghua</authors>

    <!-- 庫的擁有者,便于用戶能夠輕松的獲取到該擁有者發布的其他的包  -->
    <owners>nizhenghua</owners>

    <!-- 項目的許可和地址(比如將源代碼發布到Github上時可以在此填寫許可和) -->
    <licenseUrl>http://opensource.org/licenses/MS-PL</licenseUrl>
    <projectUrl>http://github.com/nizhenghua</projectUrl>

    <!-- 在Visual Studio中的可視化包管理器中展示的圖標 -->
    <iconUrl>https://cache.yisu.com/upload/information/20210524/347/782120.png</iconUrl>

    <!-- 在用戶安裝包的時候是否提示接受許可信息 -->
    <requireLicenseAcceptance>false</requireLicenseAcceptance>

    <!-- 發布記錄 -->
    <releaseNotes>Bug fixes and performance improvements</releaseNotes>

    <!-- 包的描述信息 -->
    <description>xxxxxxxxxxxxxxxxx</description>

    <!-- 版權 -->
    <copyright>Copyright ?2016 xxxxx</copyright>

    <!-- 標簽,用戶可通過標簽進行搜索 -->
    <tags></tags>

    <!-- 包的依賴關系,在安裝包的時候會自動安裝所有依賴 -->
    <dependencies>
      <dependency id="Newtonsoft.Json" version="9.0" />
    </dependencies>
    </metadata>

    <!-- 當包安裝完成的時候會自動展示readme.txt(包不能是依賴項目) -->
    <files>
    <file src="readme.txt" target="" />
    </files>
</package>

nuspec中必須包含以下的信息:

  • id:標識符,在托管庫內必須唯一

  • version

  • title:用于在NuGet庫中顯示

  • authors

  • owners

  • description

除此之外還可以包含releaseNotes、coptright、tags等其他信息。


使用nuget命令行工具創建nuspec清單文件

  • 通過項目創建
    定位到包含csproj項目文件的目錄,執行nuget spec

  • 通過已有的dll創建
    nuget spec dll路徑

  • 通過基于約定的目錄創建

    文件夾描述安裝時的操作
    toolspowershell腳本和命令行程序內容會復制到項目,tools文件夾會添加到環境變量
    libdll、xml、pdb等文件dll會添加到引用,xml和pdb復制到項目
    content任意文件內容復制到項目根目錄
    buildMSBuild target和props文件自動插入到項目文件(NuGet2.x)或project.json.lock(NuGet3.x)

設置包類型

  • Dependency:在兼容的前提下可以在任何項目中安裝

  • DotnetCliTool:作為.NET CLI的擴展,必須在命令行調用,且只能在.NET Core項目中使用

  • Custome


創建NuGet包

nuget pack xxx.nuspec

nuget pack xxx.csproj

如果在當前nuspec清單文件夾下使用命令可以簡寫:nuget pack

編譯設置

nuget pack xxx.csproj -properties Configuration = Release

包含符號文件

使用 nuget pack xxx.csproj -symbols 將符號信息一起打進包內

依賴項的版本號設置

可以在nuspec清單中自行設置對其他包的依賴信息。例如:
<dependencies> <dependency id="Newtonsoft.Json" version="9.0" /> <dependency id="EntityFramework" version="6.1.0" /> </dependencies>

設置的依賴項會在該包安裝完成后自行安裝。其中最重要的屬性就是Version,一個包通過不停的更新迭代可能會有多個版本,可以通過Version來指定依賴的是包的哪個版本。NuGet也提供了一組指定版本范圍的符號使得我們可以更加靈活的設置依賴項的版本號。

符號應用規則描述
1.0x >= 1.0大于等于1.0版本
(,1.0)x < 1.0小于1.0版本
(1.0,)x > 1.0大于1.0版本
[,1.0]x <= 1.0小于等于1.0版本
[1.0,]x >= 1.0大于等于1.0版本
(1.0,2.0]1.0 < x <= 2.0大于1.0版本,小于等于2.0

這種表示方法和數學上的集合類似,小括號表示的區間不包含端點,中括號包含端點

3.4版本后對版本號會做一些特殊處理

  • 刪除版本號的前導0 如1.00.1會被處理成1.0.1

  • 刪除版本號第四部分的0 如1.0.1.0會被處理成1.0.1

在2.5版本之前,如果在安裝包的過程中已經安裝了依賴的包,那么會自動升級到最新的版本,2.5之后的版本不會再安裝已經存在的包

以上就是如何解析nuget nuspec清單,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

绥德县| 米林县| 辽宁省| 皮山县| 金乡县| 共和县| 叙永县| 江西省| 新泰市| 磴口县| 汤阴县| 银川市| 合作市| 宁城县| 淄博市| 新宾| 白玉县| 沁源县| 固始县| 宁远县| 巴塘县| 九寨沟县| 繁昌县| 九江市| 嘉善县| 德化县| 调兵山市| 修水县| 河北区| 潼南县| 招远市| 穆棱市| 泰来县| 葫芦岛市| 临夏市| 汝城县| 兴和县| 长宁县| 龙海市| 唐山市| 石首市|