Nuget包制作最佳解决方案
https://www.cnblogs.com/drea/p/8418717.html
最近研究ABP框架,下載其全套源碼,想“據(jù)為己有”,這樣添加功能或者修改源碼的話就非常方便了,否則搭建項(xiàng)目直接用其官方的Nuget肯定是做不到的。
源碼下好了,取其精華之處,編譯完美運(yùn)行,然后問(wèn)題就來(lái)了,這么多類(lèi)庫(kù),如何將他們?nèi)孔龀蒒uget包呢,之前從主管那得到了個(gè)制作Nuget包的神器(NuGetPackageExplorer.application),然而制作起來(lái)相當(dāng)費(fèi)勁,每次都要打開(kāi)該軟件,一個(gè)一個(gè)dll的添加,還需要配置相當(dāng)多的引用,引用版本弄不好就弄錯(cuò)了,然后整個(gè)Nuget就GameOver了,升級(jí)起來(lái)也相當(dāng)費(fèi)勁。
最近做項(xiàng)目,又從主管那得知了制作的新招,采用文件配置方式制作Nuget,那效率杠杠的,廢話不多說(shuō),開(kāi)始吧:
一、安裝(NuGetPackageExplorer.application)
這個(gè)肯定是要的,因?yàn)镹uget包就是用這個(gè)工具來(lái)生成的,只是我們把其操作方式改成了文本配置。
二、在VS解決方案里創(chuàng)建.nuget文件夾
其實(shí)此文件夾名稱(chēng)是可以隨意,但是為了區(qū)分就給它命名為.nuget咯。
三、在.nuget文件夾里面創(chuàng)建.xml格式的文件,接著將此文件后綴改成.nuspec
為何不直接創(chuàng)建一個(gè)以.nuspec文本文件呢?那是因?yàn)樵撐募旧砭褪莤ml格式,如果采用文本格式,那么VS就直接將其內(nèi)容識(shí)別成普通的問(wèn)題咯,更不會(huì)有xml相關(guān)的提示。
新增的配置文件如下:
四、添加配置內(nèi)容
<?xml version="1.0" encoding="utf-8"?> <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"><metadata><id>Drea.AutoMapper</id><!--Nuget包名稱(chēng)--><version>1.0.0</version><!--Nuget包版本--><title>Drea.AutoMapper</title><!--Nuget包顯示名稱(chēng)--><authors>Drea</authors><!--作者--><owners>Drea</owners><!--所有者--><requireLicenseAcceptance>false</requireLicenseAcceptance><iconUrl>http://drea.cc/favicon.ico</iconUrl><description>1.0.0 原始版本<!--描述(升級(jí)記錄)--></description><summary>AutoMapper自動(dòng)映射</summary><!--簡(jiǎn)介--><copyright>?2018 Drea</copyright><!--版權(quán)--><language>zh-CN</language><!--語(yǔ)言--><tags>asp.net;asp.net mvc;boilerplate;application framework;web framework;framework;domain driven design;automapper;object mapper</tags><!--標(biāo)簽--><dependencies><!--項(xiàng)目依賴(lài)--><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" /><!--目標(biāo)Dll所在路徑--></files> </package>其他都好說(shuō),但是項(xiàng)目依賴(lài)如果有N多個(gè)呢,難道要一個(gè)一個(gè)去找,然后加進(jìn)來(lái)?其實(shí)大可不必,VS項(xiàng)目本身的配置文件里面都已經(jīng)配好了,我們只需要打開(kāi)項(xiàng)目配置文件,復(fù)制粘貼即可。
?
?
注意:PackageRefreshce引用可能位于多個(gè)ItemGroup,都要加進(jìn)去,對(duì)于系統(tǒng)引用(.NetFramework)無(wú)需加入(自測(cè)沒(méi)有問(wèn)題,但是不保證不出問(wèn)題)
五、進(jìn)入.nuget所在目錄,打開(kāi).nuspec文件,Ctrl+S創(chuàng)建并保存Nuget包
?? 至此大功告成,一定要注意以下幾點(diǎn):
1、項(xiàng)目引用的Nuget包一定要都配上去!
2、系統(tǒng)引用可以無(wú)需配置!
3、Nuget包的版本一定要配對(duì)!
轉(zhuǎn)載于:https://www.cnblogs.com/liuqiyun/p/9198512.html
總結(jié)
以上是生活随笔為你收集整理的Nuget包制作最佳解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: upper_bound()与lower_
- 下一篇: crontab命令使用记录(精,反弹sh