你好大家好,我是TANZAME,我们又见面了。
NuGet是什么这里就不再重复啰嗦,园子里一搜一大把。今天要跟大家分享的是,在日常开发过程中如何统一管理我们的包,如何通过批处理脚本生成包并自动上传到NuGet。在实际项目开发过程中我们要上传自己的包,一般的步骤都是:NuGet规范=比;nuget包=比;nuget推动,一个包都要至少重复三个动作,如果有N个包那就要重复N * 3次,想想都不能忍,所以便有了今天的分享主题。
<强> 强>
既然是统一管理,生成的包自然是放在同一个文件夹,而不是分散在各个.proj目录里。这里我们在解决方案所在目录新建一个目录,这样做的目的是方便蝙蝠脚本找到解决方案下面的子项目。比如我这里新建的是.nuget这个目录,需要注意的是如果目录名称有特殊字符的话不能直接右键新建,需要用命令提示符,直接在解决方案所在目录使用快捷键SHIFT +右键就能直接打开命令提示符,这样可以省去一大堆cd的操作。
到NuGet官网下载命令行接口(CLI)。<代码> NuGet。exe> 代码提供了完整的nuget功能,可用于安装,创建,发布和管理包,而无需对项目文件进行任何更改。
-
<李>请访问nuget.org/downloads,并选择NuGet 3.3或更高版本(2.8.6与Mono不兼容)。始终建议使用最新版。若要将包发布到nuget.org,版本至少必须是4.1.0。李>
<李>每次下载都直接下载<代码> nuget。exe 代码>文件。让浏览器将文件保存到选定文件夹。此文件不是安装程序,如果直接在浏览器中运行,就不会看到任何内容。李>
<李>将文件夹添加到<代码> nuget。exe> 代码中放置道路环境变量的位置,这样就可以从任意位置使用CLI工具。这里我们把它放在上一步新建的.nuget文件夹下面,并设置道路环境变量。李>
.nuspec文件是包含包元数据的XML清单,此清单同时用于生成包以及为使用者提供信息。这个清单文件我们只需要生成一次,以后都不需要再重新生成. .净核心和使用sdk特性。净标准项目不需要.nuspec文件,如果是。NET核心和使用sdk特性。净标准项目则忽略此步骤。转到项目所在目录,SHIFT +右键调出命令提示符,输入nuget规范命令即可生成我们所需要的包元数据清单。
将这个清单文件剪切到第一步新建的.nuget文件夹,剪切过去后项目下面就不会凭空多出一个文件,看着清爽多了。然后做一下调整填入我们自己项目的相关信息,比如像下面这样:
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt;包xmlns=" http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd "比; & lt; metadata> & lt; id> TZM.XFramework & lt; version>版本& lt;美元/version> & lt; title>标题& lt;美元/title> & lt; authors>作者& lt;美元/authors> & lt; owners>作者& lt;美元/owners> & lt;许可类型=氨泶锸健痹赼pache - 2.0 & lt;/license> & lt; projectUrl> https://github.com/TANZAME/TZM.XFramework</projectUrl> & lt; iconUrl> http://go.microsoft.com/fwlink/& # 63; LinkID=386613 & lt;/iconUrl> & lt; description>时代精神运动。XFramework是轻量级和高性能为。net的对象关系映射框架使用原始的实体框架api。;/description> & lt; copyright>版权2019 & lt;/copyright> & lt; tags>。净该数据库数据状态"置疑" O/RM ADO.NET & lt;库类型=癵it”url=" https://github.com/TANZAME/TZM.XFramework "/比; & lt;依赖/比; & lt; frameworkAssemblies> & lt; frameworkAssembly assemblyName=" System.Data "/比; & lt; frameworkAssembly assemblyName=" System.ComponentModel.DataAnnotations "/比; & lt; frameworkAssembly assemblyName=" System.Net.Http "/比; & lt;/frameworkAssemblies> & lt;/metadata> & lt;/package>
在第一步新建的文件夹里新建一个蝙蝠文件,重命名为包。蝙蝠,接下来编写我们的自动脚本。完整蝙蝠脚本戳这里,直接上代码片段。