Nuget是.NET平台下的一个免费、开源的包管理开发工具。它是Visual Studio的扩展,能够简单合并第三方的组件库,把在项目中添加、移除和更新引用的工作变得更加快捷方便。
简单说来就是,开发人员可以通过NuGet非常方便的在VS中安装、更新项目中所需要的第三方组件。而且自己也可以开发一些公共组件以供他人使用,本文将介绍如何以最简单的方式将自己所开发的类库包发布到NuGet上,以供更多的人使用。
Step1:在NuGet上注册并获取APIKey
在NuGet上注册一个账号,然后在My Account页面,获取一个API Key。注册地址:https://www.nuget.org/
Step2:下载NuGet.exe
NuGet的命令行工具:NuGet.exe,为了方便使用,请设置机器的PATH环境变量,将NuGet.exe的路径添加到PATH变量中。(计算机-系统属性-高级-环境变量)
下载地址:http://nuget.codeplex.com/downloads/get/669083
Step3:设置API Key
为防止出错建议使用:开始--VS2012--Visual Studio Tools--VS2012开发人员命令提示。当然也可以使用命令提示框,目前我测试着,二者都可以。
输入以下命令:
nuget setApiKey <my_api_key>
记得将上面的my_api_key换成Step1中注册获得的APIKey。(注:尖括号不用输入)如图:
Step4:开发自己的类库
根据需求编写自己的类库,要把发布的类库单独放在一个解决方案里,方便发布,要注意EntityFramework的版本。还要修改AssemblyInfo.cs文件中的内容:
using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // 有关程序集的常规信息通过以下 // 特性集控制。更改这些特性值可修改 // 与程序集关联的信息。 [assembly: AssemblyTitle("ITOO.Fresh.ViewModel")] [assembly: AssemblyDescription("FreshViewModel")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("ITOO.Fresh.ViewModel")] [assembly: AssemblyCopyright("Copyright © 2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // 将 ComVisible 设置为 false 使此程序集中的类型 // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, // 则将该类型上的 ComVisible 特性设置为 true。 [assembly: ComVisible(false)] // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID [assembly: Guid("8983ac8e-d8ef-4afe-8bac-04836009d6cb")] // 程序集的版本信息由下面四个值组成: // // 主版本 // 次版本 // 生成号 // 修订号 // // 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, // 方法是按如下所示使用“*”: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.1")] [assembly: AssemblyFileVersion("1.0.0.1")]
全部设置好以后,编译整个项目待用。默认的版本是1.0.0.0,根据每次版本的修改,进行手动修改。
Step5:产生并修改nuspec
nuspec是NuGet将项目打包成nupkg的输入文件,可以通过nuget spec命令产生。在命令提示符下,进入ITOO.Fresh.ViewModel.csproj文件所在目录,然后执行。命令:
nuget spec执行结果:
Step6:产生类库包
同样在ITOO.Fresh.ViewModel.cspro路径下,使用下面的命令产生NuGet类库包。命令:
nuget pack ITOO.Fresh.ViewModel.csproj
执行结果:
注意:如果项目默认是Debug,而你需要用Release打包,则使用下面的命令:
nuget pack ITOO.Fresh.ViewModel.csproj -Prop Configuration=Release
Step7:发布类库包
命令:
nuget push ITOO.Fresh.ViewModel.1.0.0.0.nupkg
执行结果:
好了,至此有成功提示了,我们可以去微软的Nuget官网,登录刚刚注册的账号,就能看到发布的类库包:
Step8:如何引用刚刚发布的类库包?
“引用”右键——管理Nuget程序包——安装。 如图:
Step9:更新类库包
只需要在AssemblyInfo.cs中更新一下版本号,保存并编译。然后重新执行上面的第六和第七就可以了。注意执行第七步的时候,nupkg的文件名应该使用新版本的文件名,如:ITOO.Fresh.ViewModel.1.0.0.1.nupkg。
提示:因为我的类库包曾经更新过,上边的截图有的是1.0.0.0,也有的是1.0.0.1,见谅!