新年第一更,关于如何搭建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. C++利用系统时间产生的随机数

    本文由青松原创并依GPL-V2及其后续版本发放,转载请注明出处且应包含本行声明. C++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integra ...

  2. java quartz

     什么是Quartz Quartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制.Quartz允许开发人员根据时间间隔来调度作业.它实现了作业和触 ...

  3. JAVA基础补漏--可变参数

    使用场景:当参数列表数据类型已确定,但参数的个数不确定,就可以用可变参数 格式: 修饰符 返回值类型 方法名(数据类型...变量名){} 原理:可变参数底层为一数组,可根据变量个数的不同,创建不同长度 ...

  4. JDK、J2EE、J2SE、J2ME的区别

    JDK.J2EE.J2SE.J2ME的区别 你对JDK.J2EE.J2SE.J2ME概念是否了解,这里和大家分享一下JDK.J2EE.J2SE.J2ME的概念以及他们的关系区别,相信本文介绍一定会让你 ...

  5. jQuery loop over JSON字符串 – $.each实例

    先来一段简单的javascript对象的遍历: var json = [ {"id":"1","tagName":"apple&q ...

  6. PMP第一章:引论

    项目是为创造独特的产品,服务或成果而进行的临时性的工作. 项目的临时性是指项目有明确的起点和终点. 项目旨在推动组织从一个状态(当前状态)转到另一个状态(将来状态),从而达成特定目标. 项目管理就是将 ...

  7. Entity Framework 中 Schema是什么

    在使用Entity Framework时,会注意到下面这句: protected override void OnModelCreating(DbModelBuilder modelBuilder) ...

  8. C# Winform实现手机号码归属地查询工具

    摘要:本文介绍使用C#开发基于Winform的手机号码归属地查询工具,并提供详细的示例代码供参考. 一.需求描述 输入正确的手机号码,查询该号码的归属地和其他相关信息. 二.需求分析 1.实现手机号码 ...

  9. mkdir: 无法创建目录"": 没有那个文件或目录

    # mkdir /data/backup/20181128 mkdir: 无法创建目录"/data/backup/20181128": 没有那个文件或目录 原因是data目录不存在 ...

  10. [ES6]import 与export的用法 ,export 与export default 的 区别 以及用法

    一.import 与export export(导出):用于对外输出本模块(一个文件可以理解为一个模块)变量的接口: import(导入):用于在一个模块中加载另一个含有export接口的模块. 1. ...