博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NuGet -- 如何创建及发布自己的程序包
阅读量:6799 次
发布时间:2019-06-26

本文共 2672 字,大约阅读时间需要 8 分钟。

STEP 1:在NuGet上注册并获取API Key   
首先,你需要在NuGet()上注册一个新的账号,然后在My Account页面,获取一个API Key,这个过程很简单,我就不作说明了。
SETP 2:下载NuGet.exe
NuGet有个命令行工具:NuGet.exe,非常好用,不过使用之前需要下载,下载地址:。
笔者把下载的NuGet.exe放到目录:C:\Program Files\nuget中,为了方便使用,添加此路径环境变量,如何添加环境变量,很简单,再此就不作说明了。
STEP 3:设置API Key

使用以下命令设置NuGet API Key:nuget setApiKey <my_api_key>,记得把my_api_key替换为 SETP 1中获得的API Key。

SETP 4:开发类库并更改程序集配置

打开AssemblyInfo.cs文件,将assembly的属性设置好,记得再设置一下AssemblyVersion特性,以指定我们类库的版本。目前我们使用1.0.0.0版本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[assembly: AssemblyTitle(
"AC.Core"
)]
[assembly: AssemblyDescription(
"wychuan's .net core lib."
)]
[assembly: AssemblyConfiguration(
""
)]
[assembly: AssemblyCompany(
"wychuan"
)]
[assembly: AssemblyProduct(
"AC.Core"
)]
[assembly: AssemblyCopyright(
"Copyright © wychuan 2015"
)]
[assembly: AssemblyTrademark(
""
)]
[assembly: AssemblyCulture(
""
)]
 
[assembly: ComVisible(
false
)]
 
[assembly: Guid(
"fac8fea2-2803-4382-b145-ed5f660bdc58"
)]
 
[assembly: AssemblyVersion(
"1.0.0.0"
)]
全部设置好以后,编译整个项目待用
STEP 5:产生并修改nuspec
nuspec是NuGet将项目打包成nupkg的输入文件,可以通过nuget spec命令产生。在命令提示符下,进入AC.Core.csproj文件所在目录,然后执行:

1
nuget spec

此时会提示创建成功:

用editplus打开AC.Core.nuspec文件,把需要替换的信息替换掉,不需要的tag全部删掉,注意里面的$xxx$宏,这些就是引用了AssemblyInfo.cs中的设置值,在编译产生package的时候,会使用AssemblyInfo.cs中的相应值进行替换。完成编辑后,我们的nuspec文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <licenseUrl>
    <projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <releaseNotes>my first init release.</releaseNotes>
    <copyright>Copyright 2015</copyright>
  </metadata>
</package>

注意两点:
1、$description$使用AssemblyDescriptionAttribute的值进行替换,在产生package之前,一定要记得先编译项目,否则会提示$description$找不到的错误;
2、releaseNotes如果没有,就直接删掉这个节点,如果有,则填入自己的内容,不要使用默认内容,否则会在下一步产生警告信息。

STEP 6:产生类库包(Library Package)
同样在AC.Core.csproj路径下,使用下面的命令产生NuGet类库包:
1
nuget pack AC.Core.csproj

成功后,提示:

注意:由于我们的项目通过NuGet引用了Common.Logging,因此,它将会作为一个依赖组件(dependency)打包到产生的nupkg文件中。

另外,NuGet会使用默认的项目配置所产生的程序集进行打包。如果项目默认是Debug,而你需要用Release打包,则使用下面的命令:

1
nuget pack AC.Core.csproj -Prop Configuration=Release
如果此项目引用了解决方案中的其他项目,那么你可以把引用的其他项目作为此程序包的一部分发布,也可以通过使用IncludeReferencedProjects参数来作为依赖项发布。
1
nuget pack AC.Core.csproj -Prop Configuration=Release -IncludeReferencedProjects
STEP 7:发布类库包
现在,通过以下命令发布类库包:

1
nuget push AC.Core.1.0.0.0.nupkg

完成以后,出现以下提示:

STEP 8:测试已发布的类库包

通过UI或者命令来查找一下。
STEP 9:更新类库包
随着类库开发进度不断向前,必然会有版本更新。更新类库包很简单,只需要在AssemblyInfo.cs中更新一下版本号,然后重新执行上面的STEP 6、7即可。注意在执行STEP 7的时候,nupkg的文件名应该使用新版本的文件名。
参考资料:
官网资料:

转载于:https://www.cnblogs.com/wych/p/4380315.html

你可能感兴趣的文章
抽离CodeIgniter的数据库访问类 可以独立使用
查看>>
android 关于InputDispatcher出现Consumer错误的解决办法
查看>>
Tomcat全攻略
查看>>
转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
查看>>
Razor视图引擎 语法
查看>>
JAVA Map 和 List 排序方法
查看>>
快速构建Windows 8风格应用34-构建Toast通知
查看>>
GridView Print and Print Preview
查看>>
PL/SQL之--包
查看>>
SEOer怎样安排一天的工作
查看>>
深入学习golang(4)—new与make
查看>>
就近期面试所见,谈谈求职者的问题和面试官的问题
查看>>
markdown的语法说明
查看>>
高效的SQLSERVER分页查询(推荐)
查看>>
Android布局实现圆角边框
查看>>
linux 重启网卡的方法
查看>>
assert_param
查看>>
JVM参数配置
查看>>
【leetcode】Best Time to Buy and Sell 2(too easy)
查看>>
Centos下Apache使用Symlink访问外部目录出现403
查看>>