之前的一篇博文说过通过 Nuget.Server 搭建Nuget服务,今天总结一下通过 GroGet 搭建 Nuget 服务的方法与注意事项。
ProGet 是一款商业的软件,价格也不低。但是呢,它提供免费的 License,有一些较高级的功能受限,日常使用是没问题的。搭建 Nuget 服务只是它其中的一个功能罢了,详细的介绍大家可以访问它的 官网。
下载ProGet
在 Download 页面下载最新的版本。

获取 Free License
需要你注册一个账号,在账号详细信息界面可以生成 Free License

安装 ProGet
选择 Enter License Key

输入获得 Free License

配置数据库连接字符串,如果本地没有数据库实例就选择 New Instance of SQL Express 。安装程序会自动下载并安装SQLExpress

将ProGet部署在IIS上,可以自定义端口号

确定一下配置完成,开始安装

安装完成

配置 Nuget 服务
通过浏览器访问 ProGet 主页

登录管理员账号,用户名密码默认都是 Admin

创建 Nuget Feed

配置 Nuget,比如 ApiKey(用于发布或删除包),Description 等

配置 ProGet 匿名用户权限
ProGet中的匿名用户默认是没有发布或删除包权限

Publish Package权限授予 Anonymous用户

上传测试包
提供了四种上传Package方式

这里我们选择使用 Nuget.CommandLine 上传测试包 Sunth.TestPackage

nuget push Sunth.TestPackage.0.0.0.1.nupkg mynuget -Source http://localhost:10086/nuget/mynuget/
如果不幸,发生了405错误

打开 ProGet 网站配置文件 Web.Config,添加下列配置
<configuration>
..
<system.webServer>
<handlers>
<remove name="WebDAV"/>
...
</handlers>
<modules>
<remove name="WebDAVModule"/>
...
</modules>
..
</system.webServer>
..
</configuration>
再次执行 Push 命令
$ nuget push Sunth.TestPackage.0.0.0.1.nupkg 112233445566 -Source http://192.168.1.161:10086/nuget/mynuget/
===
Pushing Sunth.TestPackage.0.0.0.1.nupkg to 'http://192.168.1.161:10086/nuget/mynuget/'...
PUT http://192.168.1.161:10086/nuget/mynuget/
Created http://192.168.1.161:10086/nuget/mynuget/ 425ms
Your package was pushed.
祝大家生活愉快!