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包的版本一定要配对!

最新文章

  1. SQL面试笔试经典题(Part 1)
  2. php json 格式化
  3. 前端使用js读取文件
  4. 杭电--1102--Constructing Roads--并查集
  5. SQL Server 2008 R2——PIVOT 行转列 以及聚合函数的选择
  6. ajax+php处理案例
  7. iOS-利用AFNetworking(AFN 1.x)-实现文件断点下载
  8. LAMP的编译日志,
  9. unix c 09
  10. 最全的LBS手机定位技术说明
  11. vsftp实现只能上传不能下载、删除权限配置
  12. 正则表达式,提取html标签的属性值
  13. vmware centos7 minimal 配置共享文件夹
  14. 单元测试系列之五:Mock工具之Mockito实战
  15. POJ 3281 Dining (拆点)【最大流】
  16. 官网下载MySQL最新版本的安装包
  17. B - Modular Inverse
  18. (转载)Peter Norvig:十年学会编程
  19. Synchronzied与ReentrantLock
  20. Angular4.x 自定义搜索组件

热门文章

  1. cocos2d-x 源代码分析 : EventDispatcher、EventListener、Event 源代码分析 (新触摸机制,新的NotificationCenter机制)
  2. 快速激活JetBrains系列产品
  3. Oracle相关操作示例(导出导入dmp需要采用)
  4. RMAN检查数据库physical/logical corruption
  5. iframe双滚动栏 解决方案 CSS3 overflow-y 属性
  6. 什么是Coded UI
  7. GridControl摘录
  8. LDA与QDA
  9. java中null和&quot;&quot;的区别
  10. shell脚本之函数的使用