超详细图解:自己架设NuGet服务器
原文:http://diaosbook.com/Post/2012/12/15/setup-private-nuget-server
NuGet 是.NET程序员熟知的给.NET项目自动配置安装library的工具,现在已经整合在了VS2010 SP1和VS2012里。但有时候,尤其在某些公司内部,因为公司防火墙,VS是没办法连接NuGet服务器的。所以我们需要自己架设一个私服。
一、网站构建
首先,确保你的机器在互联网上,并且能够访问NuGet服务器。
创建一个空的ASP.NET网站,选择Framework4(因为考虑到部署问题,很多服务器还没有装.NET4.5,所以我们只能选4)
接下来,用NuGet为这个Web Project安装“NuGet.Server”库。这也是为什么我们需要这台机器能够连接互联网的原因。
安装成功后,你的Solution会变成这样一个结构。并且不需要写任何代码或更改任何配置,它已经可以运行了。但是注意,Packages里只有一个readme.txt,这个目录是用来放NuGet包的。所以现在我们的服务器上还没有任何可供别人安装的包。
我们可以从以前的项目中找到一些NuGet包。你以前安装过的包,都会被放在项目根目录的packages文件夹里。
搜索"nupkg"拓展名,可以非常方便的把所有的包都撸出来。
然后我们要做的,只是把这些包拷贝到我们Solution的packages文件夹下:
现在,按F5运行,如果看到下面的欢迎界面,就表示网站已经构建完成了。
这里可以看见所有我们拷到packages目录下的包:
二、发布网站
这和发布任何一个ASP.NET网站的步骤完全一样。如果你已经熟悉了,可以跳过这一节。
在网站上点击右键,选择"Publish"。
因为是第一次发布,创建一个新的profile
发布方式可以自选,我比较喜欢发布到本地硬盘,再拷贝到服务器上。
为了良好的性能,请选择Release进行发布,因为这个选项会自动设置web.config里的debug标记为false。
发布成功以后,在输出窗口中可以看到success的消息。
三、部署网站
这也和部署任何一个ASP.NET网站完全一样。如果你已经熟悉,可直接跳过本节。
把刚才发布的文件拷贝到服务器上以后,在IIS里添加一个网站。
根据服务器的情况,选择一个没有被别的程序使用的端口。比如我选择的是9001
因为我们创建网站时,选的是.NET4,所以我们还要去应用程序池里改一下设置。
选择.NET4,集成模式。
然后回到网站,点击右边工具栏中的“浏览*:9001”,以验证我们的网站是否能够运行。
再次看到了欢迎界面,证明网站在服务器上架设成功了。
四、防火墙设置
如果你能够在同一网络中的其他计算机上顺利访问服务器上的nuget网站,则可跳过本节。
因为我刚才选的是9001端口,并不是默认的http端口,所以要在防火墙的入站规则中加一笔。
选择TCP,本地特定端口9001
选择“允许连接”。
根据服务器的网络环境,选择不同的访问规则。如果你只希望这个nuget在企业内网使用,请不要勾选公用。
最后给这条规则取个名字,就OK了。
现在别的计算机应该可以成功访问服务器上的nuget网站了。
五、配置Visual Studio
现在网站已经成功架设好了,接下来我们要对VS进行一些配置,让它可以使用我们的NuGet服务器。
选择Tools, Library Package Manager, Package Manager Settings.
在Package Manager, Package Sources里,添加我们自己的NuGet服务器地址。这个地址在网站的欢迎界面里有,可以直接拷出来贴这里。
完成后,我们的VS就可以从私服上安装NuGet包了。
超详细图解:自己架设NuGet服务器的更多相关文章
- [转]超详细图解:自己架设NuGet服务器
本文转自:http://diaosbook.com/Post/2012/12/15/setup-private-nuget-server 超详细图解:自己架设NuGet服务器 汪宇杰 ...
- 在内部架设NuGet服务器(转载)
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入)Q Q:408365330 E-Mail:egojit@qq.com 在公司内部有 ...
- 在内部架设NuGet服务器
在公司内部有很多基础框架或者基础组件,甚至对于使用SOA架构的公司来说,会有大量的业务组件的契约程序集,对于这些框架或组件的引用管理有的人使用源代码管理工具,但是NuGet相比源代码管理工具更方便: ...
- 在内部架设NuGet服务器(转)
在公司内部有很多基础框架或者基础组件,甚至对于使用SOA架构的公司来说,会有大量的业务组件的契约程序集,对于这些框架或组件的引用管理有的人使用源代码管理工具,但是NuGet相比源代码管理工具更方便: ...
- Centos 7搭建Gitlab服务器超详细Centos 7搭建Gitlab服务器超详细(搭建成功)
一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 注意:用户不 ...
- PyCharm 创建指定版本的 Django (超详细图解)
最近在学习胡阳老师(the5fire)的<Django企业级开发实战>,想要使用pycharm创建django项目时,在使用virtualenv创建虚拟环境后,在pycharm内,无论如何 ...
- TeamCity实战(2):NuGet服务器
如果有在内网架设NuGet服务器的需要,比如说公司要求所有开发人员的开发机与外网隔离,但是项目开发又必须要通过NuGet获取开发包的情况. 打开选项其实很简单,但是打开之后怎么样更新开发包要复杂些了. ...
- SVN入门图解教程(超详细)
SVN入门图解教程(超详细) 一.总结 一句话总结: 二.SVN入门教程 1. 什么是SVN SVN全名Subversion,即版本控制系统.SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操 ...
- 超详细SQL SERVER 2016跨网段和局域网发布订阅配置图解和常见问题
原文:超详细SQL SERVER 2016跨网段和局域网发布订阅配置图解和常见问题 转载标明出处:http://blog.csdn.net/u012861467 前方高能,要有点耐心,图片较多,注意在 ...
随机推荐
- linux服务器如何设置目录权限,让开发只能在测试目录下开发,不在线上目录上开发
当一台服务器上,既有测试环境,也有生成的环境,开发需要在线上测试,如果开发生产环境的权限,那开发容易误操作 需求如下: (1)生产环境的代码,必须有专用的账号登陆进行管理 (2)开发测试环境的代码,开 ...
- Android主线程不能访问网络异常解决办法
从两个方面说下这个问题: 1. 不让访问网络的原因 2. 解决该问题的办法 不让访问网络的原因: 由于对于网络状况的不可预见性,很有可能在网络访问的时候造成阻塞,那么这样一来我们的主线程UI线程 就会 ...
- 【读书笔记】iOS-类别
一,类别是一种为现有的类添加新方法的方式. 二,类别的局限性. 1,无法向类中添加新的实例变量.类别没有位置容纳实例变量. 2,名称冲突,即类别中的方法与现有的方法重名.当发生名称冲突时,类别具有更高 ...
- 【iOS开发】多屏尺的自动适配 AutoLayout (纯代码方式)
关于AutoLayout,最早从iOS6开始引入使用. 主要功能是使用约束,对视图进行相对布局,以适应不同屏尺的变换. 网上大量的资料都在介绍xib和storyboard,如何使用AutoLa ...
- android 音乐播放器简单实现
package com.zhangbz.musicplayer; import java.io.File; import android.app.Activity; import android.me ...
- windows分离系统文件和用户数据
2013/12/17更新:使用了一段时间,开机时有时会出现一些错误,不过不影响正常使用,不能忍的是会经常更新,所以暂时不推荐使用. 为了方便地重装系统,同时保留用户数据,想到了分离windows系统文 ...
- GridControl控件的数据显示的样式控制(转)
如上两图所示,Dev列表控件GridControl默认的格式并没有渐变变色效果,显示的日期数据,也是“yyyy-MM-dd”的格式,而非“yyyy-MM-dd HH:mm:ss”即使对于后面有长格式的 ...
- oracle缓存池使用解析
oracle有三种类型的缓存池,分别是default,keep和recycle.默认情况下只会使用default缓存池,另外两种需要额外配置. keep缓存池相当于是一直很热的default缓存池,缓 ...
- CentOS 升级内核
因为要安装go,尝试升级内核到 2.6.32.61,出现了一些问题,参考如下文档,多谢各位 http://liaozy.blog.51cto.com/921527/553921 http://www. ...
- JavaScript吸顶灯的实现
吸顶灯是各站点常用的一个功能,它有两个特性 向下滚动到div位置时,该div一直固定在页面的顶部 向上滚动到div原有位置时,div又恢复到文档中的原位置 div可能是一个“分类菜单”,也可能是一个“ ...