NuGet 本地服务器 公司组件库搭建 上传下载操作 模块化灵活设计
新年第一更,关于如何搭建NuGet的本地服务器,以及部署IIS,以此搭建公司自己的组件仓库,方便所有的组件更新,管理,测试等等操作。
关于如何在NuGet中下载指定的组件,参考这篇文章:http://www.cnblogs.com/dathlin/p/7705014.html
我的一开始学习参考来源,也可以参考这篇文章,我在自己重新实现后,新增了一些个人的看法和演示的操作:https://jingyan.baidu.com/article/25648fc18ff6b29190fd0045.html
创建Web项目:
首先先创建一个web项目,新建=>web项目=>空,如下所示:
创建好后安装一个NuGet组件,为NuGet.Server,安装完成后,web.config还是要进行稍微的修改,删除一行重复的配置,具体是啥看启动调试马上就清楚了。
当然你也可以直接下载我的github项目,上述的项目都创建好了,直接部署就行了。地址:https://github.com/dathlin/MyNuGet
安装IIS
我们需要安装IIS先,如果你已经安装过了,就可以直接进行跳下一步了。控制面板=>程序和功能=>启动或关闭windows功能
除了两个东西点上外,下面还需要点一些东西
创建网站
先把第一步重新生成的项目文件拷贝到D盘去(这个就是网站的基本目录)
打开控制面板=>管理工具=>IIS管理器
在左边的树形菜单上,网站右键新增网站
填上网站的名称,应用程序池,真实的路径即可。点击确定。
然后访问网站:正常如下:
Adding packages 这个标签里的清除只是清除缓存而已,而且这个框框里的数据只对本地电脑访问才会显示,在局域网部署的时候,其他电脑就看不到这个信息,当然在网页中也可以做个上传文件的按钮,然后把文件挪动到Package文件夹中,这样就绕开了安全Key。
安装 NuGet Package Explorer
打开地址
https://www.microsoft.com/zh-cn/store/p/nuget-package-explorer/9wzdncrdmdm3
安装完成后界面如下:
制作NuGet Package
点击上图中的Create a new package按钮,在新的界面点击 Edit菜单下的 Edit Meta data子菜单,在新的界面里填上一些组件的基本信息,比如组件的名字,描述,作者,项目介绍的网址等等。写好以后左侧打勾就行,右侧创建一个Lib的目录,将你想要共享的dll和携带的xml注释文件都放入,然后另存为NuGet包文件即可。如下是我的一个dll组件,由于引用了Json组件,所以就设置了依赖项进行添加:
事实上,整个配置项还是非常多的,在依赖项可以新增对其他组件的引用,这样客户端在下载这个插件的时候,自动去下载依赖项,除了带组件外,还可以创建目录,可以自带一些文件,比如你安装的log4net插件就是这种操作。也可以给不同的.net framework安装不同的组件,等等。可以自己研究研究,此处就只有一个通用的版本。
上传NuGet Package
上面的界面File菜单里有个Publish功能,点击,按照如下填写:
这个Key是什么呢,这个得去网站的文件中去找,在Web.config中,有个参数,此处写了:1DBED371-776D-4564-BEF1-AFFB20B3BA5C
所以复制这个值就行,然后点击Publish。但是刚创建网站的时候,直接发布会发生下面的错误
等到第二天就可以正常发布了,如果比较急,可以直接把这个nuget包文件,粘贴或是拖放放到网站的包目录下即可,效果是一样的。正常情况如下:
查看所有NuGet Package
在feed所有的安装dll中,打开指定的地址链接:
在Visual Studio中查看并下载指定Dll
先添加NuGet的服务器地址,方式如下:
然后打开NuGet包管理器,选择自己的服务器
左侧就是这个我们建的服务器所有的包的列表,右边点击就可以安装了。然后就可以管理所有的DLL插件了。