手把手教你 通过 NuGet.Server 包 搭建nuget服务器,并使用桌面工具上传 nuget 包,免命令行
新建web项目
工具:VS2013
版本:.Net Framework 4.6,低版本也行,不过要找到对应版本的Nuget.Server
装了NuGet客户端(百度如何安装)
WebForm或MVC都行,此web项目将作为自己的NuGet服务器程序

我建的是MVC项目

安装NugetServer
工具栏—工具—NuGet包管理器—程序包管理器控制台


访问:https://www.nuget.org/packages/NuGet.Server/

找到适合自己的版本,我这里选择的是最新的版本
执行命令:Install-Package NuGet.Server -Version 2.11.3

中间NuGet会询问web.config、favicon.ico文件与项目默认的有冲突,是否覆盖,直接输入“Y”就行了。
发布站点
右键项目—发布—新建配置文件

输入:MyNugetServer

发布方法:文件系统
设置目标位置:D:\TCProjectPublish\MyNugetServer
完了点击发布

搭建IIS站点
新建站点:MyNugetServer
右键网站—添加网站


没啥好说的,注意下应用程序池

访问站点
http://你自己的ip/nuget/,要带nuget,用域名也行

说明NuGet服务器已经搭建好了
申请api keys
网址:https://www.nuget.org/
先注册,再登录,完了获取api keys

下载NuGet Package Explorer
需要用到工具:NuGet Package Explorer,这个工具非常好,再也无需在命令行操作了。
下载地址:http://npe.codeplex.com/

点击download会自动跳转到下面的地址
https://npe.codeplex.com/releases/clickOnce/NuGetPackageExplorer.application

双击运行

创建新的package

将你的dll文件直接拖到右侧框框里

选择yes

完了之后,左上角File—Publish


点击Publish,会报错:Failed to process request:’Access denied for package ‘TestDll’.’.

原因是web.config里面没有配置api keys。还记得我们安装NuGet.Server时的冲突提示吗?
打开web.config,找到<add key="apiKey" value="" />,填写自己申请的api keys,并重新发布。

提示成功:Package published successfully.
默认发布在Nuget服务端程序根目录下的Packages文件夹内
这个发布目录可以在web.config里面修改<add key="packagesPath" value=""/>

验证
添加包源:工具栏—工具—NuGet包管理器—程序包管理器设置—程序包源

完了之后,更新—确定。

最后会看到我们提交的TestDll包。
安装后,项目的引用里面也会看到

最后使用TestDll

参考网址
一
解决:Failed to process request:’Access denied for package ‘TestDll’.’.
https://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/10/31/403-and-413-errors-when-publishing-to-a-local-Nuget-Server
说下这个问题的解决过程,百度是搜索不到的,只能用代理访问谷歌。才找到解决方法。
二
用 NuGet Package Explorer 管理你的攻城武器
http://www.cnblogs.com/stoneniqiu/p/3740080.html
三
搭建自己的Nuget服务器
http://www.cnblogs.com/knowledgesea/p/5500954.html
发布有依赖关系的NuGet包


鼠标拖到最下边,点击“Edit dependencies”按钮


Package source填写自己的NuGet服务器地址,然后点击Reload,会看到已存在的包
双击选中的包
如果包太多,还可以搜索


接着就可以看到成功添加了依赖包

然后再发布,就会看到已经上传到NuGet服务器上了

在项目里引用:


安装的虽然是TestDll,但是依赖的Newtonsoft.Json也会一起安装。
手把手教你 通过 NuGet.Server 包 搭建nuget服务器,并使用桌面工具上传 nuget 包,免命令行的更多相关文章
- 《手把手教你》系列技巧篇(五十三)-java+ selenium自动化测试-上传文件-上篇(详细教程)
1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...
- [PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(三. PHP端代码实现)
一.安装XAMPP http://www.cnblogs.com/lidongxu/p/5256330.html 二. 配置MySql http://www.cnblogs.com/lidongx ...
- 用 Windows Server 2019 搭建求生之路服务器
准备工作 要搭建一台 Windows Server 的求生之路服务器需要做以下几点前置工作: 购买一台云服务器,如腾讯云: 下载 SteamCMD: 安装 SourceMod.MateMod.L4dT ...
- Windows Server 2003搭建邮件服务器
Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...
- 使用Github Packages功能上传nuget包到Github
前几天微软收购npm的新闻对于软粉来收很是振奋.微软收购npm很可能是为了加强Github Packages.目前Github,Typescript,VSCode,npm这些开源社区的重磅工具全部都在 ...
- 为 .net 生态贡献力量——制作并上传 nuget 包(内有独家彩蛋)
前言 nuget 是 .net 的常用包管理器,目前已经内置到 Visual Studio 2012 以后的版本.大多数 .net 包都托管在 nuget.org,包括 .net core 框架基础包 ...
- Maven第四篇【私有仓库、上传jar包、引用私服jar包、上传本地项目到私服】
搭建私有服务器 前面已经说过了,我们使用Maven的使用,如果需要导入相对应的jar包,Maven首先会在我们的本地仓库中寻找->私有仓库->中心仓库- 然而,我们的本地仓库常常没有想要的 ...
- maven上传jar包到nexus私服后的存放路径 以及 使用IDEA上传jar包的步骤
maven上传jar包到nexus私服的方法,网上大神详解很多,那么上传后的jar包存放到哪里了呢? 在下使用nexus3.2.1版本,在本地搭建了私服,使用maven上传jar包.最后结果如下: 点 ...
- maven安装 maven上传jar包到库里面
maven的安装与配置:http://pansanday.blog.163.com/blog/static/381662802012727103454743/ maven上传jar包到库里面: 将私有 ...
随机推荐
- C 函数声明、函数参数
参考连接:https://www.runoob.com/cprogramming/c-functions.html 局部变量与全局变量在内存中的储存方式 全局变量保存在内存中的全局储存区中,占用静态的 ...
- HTML5中localStorage的使用
为什么要存在localStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cook ...
- 运算符 &(与运算)、|(或运算)、^(异或运算)
按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算. 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 按位或运算符( ...
- Qt程序app添加图标复制到其它电脑后不显示的解决方法
原因: 主是要因为Qt显示图标需要依赖一些库来进行转换,而复制到其它电脑后不显示,是没有复制相应的库所致,所以把相应库复制过去就行了. 复制Qt的plugins目录下的imageformats文件到程 ...
- 一次压测中tomcat生成session释放不及时导致的频繁fullgc性能优化案例
性能问题:老年代一直处于占满状态,为什么没有发生内存溢出 以HotSpot VM的分代式GC为例,普通对象分配都是在young gen进行的,具体是从在位于young gen中的eden space中 ...
- RT-Thread点亮led
下载默认工程 https://www.rt-thread.org/ 配置rtconfig.h #define STM32F103RE //修改成自己的板子 #define RT_HSE_VALUE 8 ...
- Qt固定窗口大小
指定大小 this->setMaximumSize(250, 250); 默认大小 this->setMaximumSize(this->width(), this->heig ...
- afnet缓存
http://www.open-open.com/code/view/1432299750333
- 【设计模式】Factory
前言 这篇博客将包括两种设计模式,一种是工厂模式,一种是抽象工厂模式.不管是哪一种设计模式,本质上在解决的问题是对象创建的问题.工厂,可以是简简单单的一个函数,也可以是一个有具体实现的类,也可以是一个 ...
- 对于不返回任何键列信息的 SelectCommand,不支持 DeleteCommand 的动态 SQL 生成
VS新增操作数据库出现如下报错. 原因是数据库表未添加主键 MySQL: CREATE TABLE Customer (SID integer, Last_Name ), First_Name ), ...