日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Nuget包制作最佳解决方案

發布時間:2025/3/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nuget包制作最佳解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://www.cnblogs.com/drea/p/8418717.html

最近研究ABP框架,下載其全套源碼,想“據為己有”,這樣添加功能或者修改源碼的話就非常方便了,否則搭建項目直接用其官方的Nuget肯定是做不到的。

  源碼下好了,取其精華之處,編譯完美運行,然后問題就來了,這么多類庫,如何將他們全部做成Nuget包呢,之前從主管那得到了個制作Nuget包的神器(NuGetPackageExplorer.application),然而制作起來相當費勁,每次都要打開該軟件,一個一個dll的添加,還需要配置相當多的引用,引用版本弄不好就弄錯了,然后整個Nuget就GameOver了,升級起來也相當費勁。

  最近做項目,又從主管那得知了制作的新招,采用文件配置方式制作Nuget,那效率杠杠的,廢話不多說,開始吧:

  一、安裝(NuGetPackageExplorer.application)

    這個肯定是要的,因為Nuget包就是用這個工具來生成的,只是我們把其操作方式改成了文本配置。

  二、在VS解決方案里創建.nuget文件夾

    其實此文件夾名稱是可以隨意,但是為了區分就給它命名為.nuget咯。

  三、在.nuget文件夾里面創建.xml格式的文件,接著將此文件后綴改成.nuspec

    為何不直接創建一個以.nuspec文本文件呢?那是因為該文件本身就是xml格式,如果采用文本格式,那么VS就直接將其內容識別成普通的問題咯,更不會有xml相關的提示。

    新增的配置文件如下:

    

    四、添加配置內容

<?xml version="1.0" encoding="utf-8"?> <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"><metadata><id>Drea.AutoMapper</id><!--Nuget包名稱--><version>1.0.0</version><!--Nuget包版本--><title>Drea.AutoMapper</title><!--Nuget包顯示名稱--><authors>Drea</authors><!--作者--><owners>Drea</owners><!--所有者--><requireLicenseAcceptance>false</requireLicenseAcceptance><iconUrl>http://drea.cc/favicon.ico</iconUrl><description>1.0.0 原始版本<!--描述(升級記錄)--></description><summary>AutoMapper自動映射</summary><!--簡介--><copyright>?2018 Drea</copyright><!--版權--><language>zh-CN</language><!--語言--><tags>asp.net;asp.net mvc;boilerplate;application framework;web framework;framework;domain driven design;automapper;object mapper</tags><!--標簽--><dependencies><!--項目依賴--><group targetFramework=".NETStandard2.0"><dependency id="Drea.Core" version="1.0.0" /><dependency id="AutoMapper" version="6.2.1" /></group></dependencies></metadata><files><file src="..\src\Abp.AutoMapper\bin\Debug\netstandard2.0\Abp.AutoMapper.dll" target="lib\netstandard2.0\Abp.AutoMapper.dll" /><!--目標Dll所在路徑--></files> </package>

  其他都好說,但是項目依賴如果有N多個呢,難道要一個一個去找,然后加進來?其實大可不必,VS項目本身的配置文件里面都已經配好了,我們只需要打開項目配置文件,復制粘貼即可。

  

  

?  

?  

  注意:PackageRefreshce引用可能位于多個ItemGroup,都要加進去,對于系統引用(.NetFramework)無需加入(自測沒有問題,但是不保證不出問題)

  五、進入.nuget所在目錄,打開.nuspec文件,Ctrl+S創建并保存Nuget包

  

  

  

 ?? 至此大功告成,一定要注意以下幾點:

  1、項目引用的Nuget包一定要都配上去!

  2、系統引用可以無需配置!

  3、Nuget包的版本一定要配對!

轉載于:https://www.cnblogs.com/liuqiyun/p/9198512.html

總結

以上是生活随笔為你收集整理的Nuget包制作最佳解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。