如何发布dll到nuget
Nuget是.net的在线包管理器,省去了很多的古老的下载dll并引用的方式。并且大多是开源的,对于.net发展起了很大作用。
假如我们有自己开发的类库,想给大家用,如何发布到Nuget呢?
一、 注册Nuget.org账号
进入Nuget的官网https://www.nuget.org/,注册一个账号(如果已有就直接登录)
这步估计大家都会,就不多说了,我自己注册的账号如下:
二、 用命令行生成包文件
进入download栏目(https://www.nuget.org/downloads),下载一个Nuget客户端,即打包工具。
官方推荐我们用最新稳定的v5.4.0,听官方的没错。
把需要打包的dll拷贝进来(当然放别的目录也可以)
以管理员方式打开cmd,执行以下命令:
1)生成配置文件
nuget spec SinGoo.Simple.DAL.dll
发现在目录中生成了配置文件 SinGoo.Simple.DAL.dll.nuspec
用VS打开可以编辑其中项目
2)生成包
nuget pack SinGoo.Simple.DAL.dll.nuspec
再运行以上命令,生成可发布包
完成结果如图:
上面只是简单的执行了命令,更多的配置和信息可以参考 https://docs.microsoft.com/zh-cn/nuget/create-packages/creating-a-package#from-an-assembly-dll
三、 发布
1)生成完成后就可以发布包了
打开网址:https://www.nuget.org/packages/manage/upload
刚发布的时候,状态是 Validating,即还在审核,审核通过后是Listed
2)在VS的Nuget中查找,并下载可用
附:如何生成本地源的nuget
1)本地源
创建一个文件夹,如D:\Projects\xocde\nuget\packages
并且在Visual Studio中添加这个源
2)添加到源
执行以下命令,把打好的包添加到源文件夹
nuget add D:\Projects\xocde\nuget\com.CTT.Passport.SSO.nupkg -source D:\Projects\xocde\nuget\packages
在源文件夹里的包是有层次结构的,在项目文件里可以直接这样引用
<PackageReference Include="com.CTT.Passport.SSO">
<Version>1.0.0</Version>
</PackageReference>
参考:https://learn.microsoft.com/zh-CN/nuget/hosting-packages/local-feeds