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插件了。
NuGet 本地服务器 公司组件库搭建 上传下载操作 模块化灵活设计的更多相关文章
- Java实现对文件的上传下载操作
通过servlet,实现对文件的上传功能 1.首先创建一个上传UploadHandleServlet ,代码如下: package me.gacl.web.controller; import jav ...
- [PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(三. PHP端代码实现)
一.安装XAMPP http://www.cnblogs.com/lidongxu/p/5256330.html 二. 配置MySql http://www.cnblogs.com/lidongx ...
- Linux服务器通过rz/sz轻松上传下载文件
Linux服务器通过命令行远程访问时,上传文件还需要ftp所以不太方便,可以使用rz这个小工具来上传不太大的文件,方法如下: 输入rz,如果提示命令不存在,证明还没有安装,以CentOS为例,安装命令 ...
- (八)利用apache组件进行文件上传下载
一.文件上传 文件上传,即服务器端得到并处理用户上传的文件,这个文件存放在request里,也就是需要对request进行处理. 1.1 编写html文件 <!DOCTYPE html> ...
- Python Requests库 form-data 上传文件操作
请求数据示例: ------WebKitFormBoundaryKLoWgrA4O40MayHM Content-Disposition: form-data; name="id" ...
- 2019-03-28 git github SSH配置,上传下载操作
1.通过git获取scrapy源码,并安装到系统里面 https://git-scm.com/download/win 下载无脑安装啊(C:\Program Files\Git),进入git bash ...
- shell获取db信息及上传下载操作
这个脚本是获取目标机器的db信息和os信息的.os信息很好获取,db的信息包含db名字,db版本以及所有的db instance,db信息的获取稍显复杂,下面是整个脚本代码: 关键字: awk, se ...
- linux链接及文件互相上传下载
若排版紊乱可查看我的个人博客原文地址 基本操作 本篇博客主要介绍如何去链接远程的linux主机及如何实现本地与远程主机之间文件的上传下载操作,下面的linux系统是CentOS6.6 链接远程linu ...
- JavaWeb 文件上传下载
1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端,从服务器端下载文件到本地的过程.例如目前网站需要上传头像.上传下载图片或网盘等功能都是利用文件上传下 ...
随机推荐
- C语言string.h常用函数总结
void *memcpy(void *dest, const void *src, size_t n); 从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中. ...
- Python高阶函数(Map、Reduce、Filter)和lambda函数一起使用 ,三剑客
Map函数 map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 举例说明 比如我们有一个函数f(x)=x2,要把这个函数作用 ...
- 防止xss(脚本攻击)的方法之过滤器
一 什么是脚本注入 概念我就不说了 直接百度一份 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中.比如这些代码包括HTML代码和客户端 ...
- poj3299 - Humidex
2017-08-31 19:08:25 writer:pprp 水题: 没有技术含量hhh 但是,还是花了很长时间,以后水题也是很有必要练习的 /* @theme:poj 3299 @writer:p ...
- geoserver源码学习与扩展——跨域访问配置
在 geoserver源码学习与扩展——restAPI访问 博客中提到了geoserver的跨域参数设置,本文详细讲一下geoserver的跨域访问配置. geoserver的跨域访问依赖java-p ...
- RSA非对称加密算法
基本定义: RSA公开密钥密码体制.所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制.在公开密钥密码体制中,加密密钥(即公开密钥 ...
- Android安装过程出现问题
Android安装过程出现问题 一.Eclipse 中 Emulator Control 不能用问题 在官方文档中发现问题所在(官方文档说明),在最后一行“The Emulator Control t ...
- ABP 学习问题集锦
一:Update-Database : 无法将“Update-Database”项识别为 cmdlet.函数.脚本文件或可运行程序的名称的问题 解决: 这是因为没有引用EntityFramework命 ...
- HDU - 59562016ACM/ICPC亚洲区沈阳站I - The Elder 树上斜率优化dp
题意:给定上一棵树,然后每条边有一个权值,然后每个点到 1 的距离有两种,第一种是直接回到1,花费是 dist(1, i)^2,还有另一种是先到另一个点 j,然后两从 j 向1走,当然 j 也可以再向 ...
- 5.彻底理解volatile
1. volatile简介 在上一篇文章中我们深入理解了java关键字synchronized,我们知道在java中还有一大神器就是关键volatile,可以说是和synchronized各领风骚,其 ...