新年第一更,关于如何搭建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插件了。

NuGet 本地服务器 公司组件库搭建 上传下载操作 模块化灵活设计的更多相关文章

  1. Java实现对文件的上传下载操作

    通过servlet,实现对文件的上传功能 1.首先创建一个上传UploadHandleServlet ,代码如下: package me.gacl.web.controller; import jav ...

  2. [PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(三. PHP端代码实现)

    一.安装XAMPP   http://www.cnblogs.com/lidongxu/p/5256330.html 二. 配置MySql http://www.cnblogs.com/lidongx ...

  3. Linux服务器通过rz/sz轻松上传下载文件

    Linux服务器通过命令行远程访问时,上传文件还需要ftp所以不太方便,可以使用rz这个小工具来上传不太大的文件,方法如下: 输入rz,如果提示命令不存在,证明还没有安装,以CentOS为例,安装命令 ...

  4. (八)利用apache组件进行文件上传下载

    一.文件上传 文件上传,即服务器端得到并处理用户上传的文件,这个文件存放在request里,也就是需要对request进行处理. 1.1 编写html文件 <!DOCTYPE html> ...

  5. Python Requests库 form-data 上传文件操作

    请求数据示例: ------WebKitFormBoundaryKLoWgrA4O40MayHM Content-Disposition: form-data; name="id" ...

  6. 2019-03-28 git github SSH配置,上传下载操作

    1.通过git获取scrapy源码,并安装到系统里面 https://git-scm.com/download/win 下载无脑安装啊(C:\Program Files\Git),进入git bash ...

  7. shell获取db信息及上传下载操作

    这个脚本是获取目标机器的db信息和os信息的.os信息很好获取,db的信息包含db名字,db版本以及所有的db instance,db信息的获取稍显复杂,下面是整个脚本代码: 关键字: awk, se ...

  8. linux链接及文件互相上传下载

    若排版紊乱可查看我的个人博客原文地址 基本操作 本篇博客主要介绍如何去链接远程的linux主机及如何实现本地与远程主机之间文件的上传下载操作,下面的linux系统是CentOS6.6 链接远程linu ...

  9. JavaWeb 文件上传下载

    1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端,从服务器端下载文件到本地的过程.例如目前网站需要上传头像.上传下载图片或网盘等功能都是利用文件上传下 ...

随机推荐

  1. KALI LINUX系统初始化配置

    1.Kali Linux安装VirtualBox增强功能 VirtualBox增强功能介绍:物理机与虚拟机之间的文件共享.物理机与虚拟机之间的剪切板共享.虚拟机的direct3D支持,这样虚拟机窗口就 ...

  2. Android 图形基础类Rect,扎实基础助腾飞

    转载请注明出处:王亟亟的大牛之路 上周把"垃圾桶动画写完了",然后这礼拜寻思着学习点啥,脑子闷逼了大半天,然后就找了点基础源码读读,把看的经历分享给大家. 先安利:https:// ...

  3. Python学习札记(十八) 高级特性4 生成器

    参考:生成器 Note 1.通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的,且容易造成空间浪费.所以,如果列表元素可以按照某种算法推算出来,那我们可以在循环的过程中 ...

  4. Python学习札记(二) python3.5安装 + (假装是)第一个Python程序

    参考: Mac OS 安装 Python3.5 廖雪峰Python教程:安装Python 笔记: 安装: 1.官方网站下载安装包:安装程序 2.执行安装程序完成Python3.5包的安装. 3.安装P ...

  5. Linux 安装rabbitmq 遇到的一些问题

    Linux下防火墙开启相关端口及查看已开启端口 https://www.cnblogs.com/pizitai/p/6518987.htmlhttps://www.cnblogs.com/blog-y ...

  6. ThinkPHP开发笔记-模型

    1.模型定义.在ThinkPHP中,可以无需进行任何模型定义.只有在需要封装单独的业务逻辑的时候,模型类才是必须被定义的,因此ThinkPHP在模型上有很多的灵活和方便性,让你无需因为表太多而烦恼. ...

  7. (转)浅谈SQL Server 对于内存的管理

    简介 理解SQL Server对于内存的管理是对于SQL Server问题处理和性能调优的基本,本篇文章讲述SQL Server对于内存管理的内存原理. 二级存储(secondary storage) ...

  8. c语言的tcp和udp客户端和服务器

    都是最简单的用来记忆. this is my 的git地址:https://github.com/yanjinyun/cLanguageTcpUdp tcp最简单的服务器: int main(int ...

  9. Android6.0------权限管理

    此博客主要谈谈Android6.0的权限,关于其他6.0的知识 请看https://developer.android.com/about/versions/marshmallow/android-6 ...

  10. Codeforces Round #349 (Div. 2)

    第一题直接算就行了为了追求手速忘了输出yes导致wa了一发... 第二题技巧题,直接sort,然后把最大的和其他的相减就是构成一条直线,为了满足条件就+1 #include<map> #i ...