确保安装了“NuGet Packager”与“NuGet Package Manager”两个VS插件
VS菜单:工具->扩展与更新,弹出的对话中在“联机”中搜索“NuGet Packager”找到后安装
搭建NuGet服务工程及解决方案
- 创建“ASP.NET空Web应用程序”类型的工程
- 使用Nuget为此工程安装“NuGet.Server”包
- 打开web.config,为“apiKey”配置一个上传包时用的密码
之后用时比如:nuget.exe push *.nupkg -s http://localhost:58844/ a
创建生产用解决方案
创建打包工程
- Visual C# > NuGet > NuGet Packager
- 选择将调试符号打进包里(这一步若不做,则包含调试符号的包会被未包含调试符号的包覆盖)
Get-ChildItem *.nupkg | Where-Object { $_.Name.EndsWith(".symbols.nupkg") -eq $false } | ForEach-Object
将其中的“false”改为“true”
- 之后可使用打包工具NuGet Package Explorer(http://npe.codeplex.com/)对包文件进行修改
创建类库工程
配置工程的“生成事件”属性,以生成后将.dll与.pdb文件自动拷贝至打包工程的lib目录中
copy /y "$(TargetDir)*.*" "$(SolutionDir)NuGet.Packager1\lib\"
备注
在IIS6上部署后,要选择ASP.NET版本为4,并且加入“c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll”应用程序映射(在“主目录”选项卡中点击“配置”按钮),否则会出现【Failed to process request. 'Not Implemented'.远程服务器返回错误: (501) 未实现。.】之类的错误
参考
用NuGet.Server管好自家的包包
架设自己的NuGet服务器
使用 NuGet 管理项目库
Nuget server on IIS6 returns 404 when downloading package after upgrade
程序员,用NuGet管理好你的包包