按照道理http://diaosbook.com/Post/2012/12/15/setup-private-nuget-server就可以轻松的假设服务器了。
这里补充一下。
1)Nuget究竟怎么叫?
牛给特,New gate之意,但是如果我感觉不怎么样,旧习惯叫哪给特了。
2)搭建Nuget.Server步骤中的特殊说明
2.1)首先,安装Nuget 程序包管理器,在【扩展与更新】检索Nuget Package Manager。安装好后重启VS2012。
2.2)其次,建立一个空的Web Application(.NET 4.0)的即可。
2.3)第三,你可以使用命令行安装或者图形安装,难易都差不多了。
A)命令行安装,
程序包源,选择nuget.org,有的计算机叫nuget offiical webset...就是这个了。反正地址就是那个组织就行。
输入命令PM> Install-Package NuGet.Server
直接发布即可。
详细地址:https://www.nuget.org/packages/NuGet.Server/
B)图形安装
选择上述菜单的第二个选项。【管理解决方案的Nuget程序包。】 在左侧选择“Nuget org ",右侧直接检索nuget。找到
nuget.Server直接安装发布即可。
4)记得下载nuget.exe,命令
下载nuget.exe,参见。http://docs.nuget.org/consume/installing-nuget,
下载https://nuget.org/nuget.exe.,并且在系统环境路径中配置指向此文件,就可以在命令行上直接使用nuget命令了。
nuget命令如何使用呢,以下是说明,自己看。
参见网址:http://docs.nuget.org/consume/command-line-reference
5)配置Nuget Server服务器地址
如果出现Bad Request(400)错误,主要由两个原因,第一就是nuget和nuget.server服务等不对应。第二就是nuget地址没有配置对。
这里特殊说明的是,需要通过上下调整顺序,避免Nuget检索出现BUG直接中断。我这里以本机优先。
地址直接配置到"/ipadress/nuget即可,不要配置到其他路径下。【我就配置到package里面了,结果纠结了好久】
6) nuget 如何下载和执行。
nuget直接将上述的表格配置存放到%AppData%\NuGet\NuGet.config里面。
执行命令时,系统直接请求http://localhost:9009/nuget/$metadata,请求WEBSERVICE获得内容并且下载。
你可以直接将密码代理服务啥的直接手动配置到里面。这里是参考代码,自己摸索或者查看相关资料。
地址为:http://docs.nuget.org/consume/NuGet-Config-Settings
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositorypath" value="C:\nugets" />
</config>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<packageSources>
<add key="DummyNuGet" value="https://nuget.dummy.org:443/nuget" />
</packageSources>
<activePackageSource>
<add key="DummyNuGet" value="true" />
</activePackageSource>
<disabledPackageSources>
<add key="nuget.org" value="true" />
</disabledPackageSources>
<packageSourceCredentials>
<DummyNuGet>
<add key="Username" value="McNuget" />
<add key="Password" value="<encrypted password>" />
</DummyNuGet>
</packageSourceCredentials>
<apikeys>
<add key="https://nuget.dummy.org" value="<encrypted api key>" />
</apikeys>
</configuration>
为了开发方便可以安装其他插件,例如Nuget package manager插件右键可以给工程生成.package文件。方便开发。
7)搭建IIS服务器。
直接发布可以,设置用户名和密码,添加目录权限IIS_USER可读可写。设置为.NET 4.0 的池。开放ASP.NET就可以了。比较简单。参看IIS假设文档。
8)突然无法执行nuget push命令。
除了确保IIS的目录权限问题外,居然发现我的网站的线程池模式经典模式,也就是使用Aspnet_isapi.dll托管,这里不建议,建议使用集成模式,也即是说使用IIS的内部的集成容器,否则无法提交哦。