架设自己的NuGet服务器

简介:

注:本文主要参考了( 在内部架设NuGet服务器 )和(介绍下Nuget在传统Asp.net项目中的使用),只是原本说的比较简略,本文做了一些补充,更适合新接触NuGet的朋友,在此感谢原作者的分享。

 

一、什么是NuGet

NuGet(http://nuget.codeplex.com)是一个开源包管理器,它能更方便地把一些dll和文件(如jquery)添加到项目中,而不需要从文件中复制拷贝。拿个简单的例子来说,如果想在项目中添加jquery1.5.2,用NuGet后就没必要去官方下载,再手动添加到项目中,而是用一个命令“install-package jquery 1.5.2”就可以了。

 

官方网站(http://nuget.codeplex.com)已经提供了大量的开源代码包,我们可以直接添加引用,也可以把我们自己的代码打包提交上去,不仅如此,我们可以架设自己(或公司内部)的NuGet服务器,把我们自己的私有代码放在服务器上,需要用时用NuGet添加就好了。

 

二、体验NuGet

首先在VS中安装NuGet插件,打开Tools->Extension Manager:

 

找到NuGet并安装:

 

随便打开一个WEB项目,打开Package Manager Console窗口: 

 

 现在即可体验NuGet强大的功能啦,在Package Manager Console中输入 Install-Package jquery试试吧:

 

 

上面要注意的是Pack source选择是官方代码源,这个在是默认的,下面将看到我们可以添加自己的代码源。现在看看项目的Scripts文件夹,最新版的jquery是不是已经添加进去了呢。 

 

三、架设自己(或公司内部)NuGet服务器

下载 NuGetServer.zip ,这是一个用MVC3做的服务器端,提供了浏览包、上传包的页面。

解压这个项目,用VS(我用的是VS2010)打开并编译,然后发布到内网服务器上。这里要注意的是, 在内部架设NuGet服务器 一文中的NuGetServer.rar包中代码有点问题,就是MVC中Global.asax.cs的路由配置信息跟App_Start/RegisterMvc3Routes.cs中的重复了,要注释掉一个,我注释掉的是Global.asax.cs中的:

 

 

编译完成后发布到IIS上,我这里是发布到本机上(也可以发布到服务器上,企业内部架设的话最好发布到企业内部服务器) ,在IIS中配置如下:

 

 这里主机名也可以用localhost加端口,我个人比较喜欢域名形式,如果想配置成图中域名的形式在hosts文件中更改一下路由即可:

 

然后找到刚才添加网站时添加的应用程序池,改.Net Framework版本为4.0:

 

 至此即可浏览网站了:

 

以上即为服务器端的配置,看到这个页面就表示OK了啦。

 

 四、把代码打包为NuGet包

首先需要去codeplex上下载nuget command line:

image

 

这个工具两种打包方式:

A.直接通过工程文件打包dll:

创建一个类库,然后编译下。把刚才下载的nuget.exe拷贝到工程文件所在的文件夹中:

 

image

 

通过命令行来创建nuget包:

 

image

 

搞定了:

 

 

 

B:使用nuget的spec文件进行打包(这个也适用单个DLL,下面就以单个DLL为例):

把要打包的DLL跟NuGet.exe放在一个目录下,用nuget spec命令创建一个nuspec文件,这是一个XML文件:

打开Package.nuspec文件,可自定义一些配置,重要的是加上要打包的DLL信息:

 

然后用 NuGet pack打包成Nuget包:

 

至此打包完毕

 

五、 把NuGet包上传到服务器

在第二步中架好的网站上上传即可:

 

点击页布的 here 链接即可看到当前服务器上的NuGet包:

 

 

注:其中 在内部架设NuGet服务器 一文中作者自己写了一个上传工具,有兴趣的朋友可以去看看。

 

六、在其他项目中使用 

到目前为止服务器端已经配置完成,类库跟DLL文件的打包也介绍完毕,下面要做的就是如何在其他项目中使用了。 

要在项目中使用我们先要添加自己的代码源,步骤如下:

1、 进入Package Manager Settings:

 

2、添加我们自己的代码源:

 

注意source哦,后面是nuget。 

3、在其他项目中打开Package Manager Console,选择我们上面添加的代码源,然后调用:

 

4、最后看看效果啦:

 

 

OK,大功告成,欢迎留言讨论。 



本文转自Artwl博客园博客,原文链接:http://www.cnblogs.com/artwl/,如需转载请自行联系原作者

相关文章
|
7月前
|
弹性计算 数据安全/隐私保护
2024年阿里云雾锁王国/Enshrouded服务器搭建架设教程(保姆级)
随着游戏行业的日新月异,玩家们对游戏体验的期待也不断攀升。阿里云针对这一需求,推出了快速、便捷的游戏联机服务器一键部署方案。在本篇教程中,我们将向大家展示如何在短短的10秒钟内,利用阿里云服务器轻松搭建雾锁王国游戏服务器,为您的游戏体验增添更多流畅与顺畅。跟随我们的步骤,让您的游戏世界更加精彩!
|
7月前
|
弹性计算 Linux 数据安全/隐私保护
1分钟幻兽帕鲁社区服务器搭建架设开服教程(Linux)
1分钟幻兽帕鲁社区服务器搭建架设开服教程(Linux)玩转幻兽帕鲁服务器,幻兽帕鲁Palworld多人游戏专用服务器一键部署教程,阿里云推出新手0基础一键部署幻兽帕鲁服务器教程,傻瓜式一键部署,3分钟即可成功创建一台Palworld专属服务器,成本仅需26元,阿里云百科分享2024年新版基于阿里云搭建幻兽帕鲁服务器教程
131 3
|
7月前
|
Linux 应用服务中间件 nginx
国服浪潮服务器操作系统——KeyarchOS多容器架设体验心得
国服浪潮服务器操作系统——KeyarchOS多容器架设体验心得
111 0
|
7月前
|
弹性计算 Ubuntu Linux
帕鲁服务器多少钱?2024年幻兽帕鲁服务器搭建架设教程(保姆级)
帕鲁服务器多少钱?阿里云帕鲁服务器26.52元1个月在帕鲁的世界中,与神奇的生物共度悠闲时光是一种无与伦比的乐趣。然而,有时官方服务器的不稳定性可能会给游戏体验带来延迟和卡顿。 为了告别这些问题,部署自己的幻兽帕鲁服务器成为了一个不错的选择。通过搭建专属的游戏服务器(Dedicated Server),和小伙伴们获得一个专属的服务空间,获得顺畅流畅的游戏体验。 在本文中,我们将介绍如何使用自己的服务器来部署属于自己的幻兽帕鲁服务器,与小伙伴们共同展开一场精彩的冒险之旅。
244 0
|
C++
【不费脑筋系列】发布个人的代码包到Nuget服务器上,并通过VS引用进行使用的方法
下面讲个关于个人如何开发nuget包,并部署到nuget服务器上的例子。为了保证.net framework和 .net core都可以访问到我的包,我此处以新建一个.net standard 2.0的版本为例子,提供一个简单的示范。
188 0
【不费脑筋系列】发布个人的代码包到Nuget服务器上,并通过VS引用进行使用的方法
|
开发框架 .NET C++
『BaGet』带你一分钟搭建自己的私有NuGet服务器
📣读完这篇文章里你能收获到 - 使用BaGet快速搭建Nuget私仓 - 博主带你实操,全程无坑 - 感谢点赞+收藏,避免下次找不到~
575 0
『BaGet』带你一分钟搭建自己的私有NuGet服务器
|
安全 Linux 网络架构
架设个人FTP服务器的三种方法
架设个人FTP服务器的三种方法
架设个人FTP服务器的三种方法
|
弹性计算 Linux Windows
mc服务器架设的ECS使用体验
mc服务器架设的ECS使用体验
|
3天前
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)
|
21天前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
36 6