手把手教你 通过 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包到库里面: 将私有 ...
随机推荐
- 记录微信支付开发中的小经验(errcode = 40163; errmsg = "code been used")
今天上午客户提出问题,看了一下报错截图,应该是我更新版本时少传了一个参数,导致后续报错, 心里想着小问题,直接生产环境添加一下就行了,于是就为了我这一上午的悲剧埋下了伏笔 十分自信的把页面中的代码添加 ...
- Python - File - 第十八天
Python File(文件) 方法 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OS ...
- 2019大厂Java岗面试题全曝光,刷完这1020道,金三银四大厂等你
2019大厂Java岗面试题全曝光,刷完这1020道,金三银四大厂等你 前言: 本文收集整理了各大厂常见面试题N道,你想要的这里都有 内容涵盖:Java.MyBatis.ZooKeeper.Dubbo ...
- js中this由来
这篇文章主要是讲述js中的this是什么?是怎么来的? 我们首先创建一个person对象,如下: var person = { name: 'wyh', age: 22, sayHi: functio ...
- centos 安装多实例数据库
在Centos下安装多个MySql 5.7① 下载MySql 解压版安装包② 编写安装脚本③ 将脚本和安装包放置同一目录④ 编写my.cnf文件并放置在/etc/ 目录下⑤ 赋予脚本运行权限并运行⑥ ...
- MySQL 的一些批处理
执行 SQL 脚本文件(https://blog.csdn.net/vebasan/article/details/7619911): mysql –u root –p 123456 < scr ...
- 剑指:和为S的两个数字
题目描述 输入一个数组和一个数字 s,在数组中查找两个数,使得它们的和正好是 s. 如果有多对数字的和等于s,输出任意一对即可. 你可以认为每组输入中都至少含有一组满足条件的输出. 样例 输入:[1, ...
- Django 练习班级管理系统六 -- 编辑老师列表
修改 views.py @auth def edit_teacher(request, nid): if request.method == "GET": obj = models ...
- Django框架(二十)-- Django rest_framework-权限组件
一.权限组件的使用 # 用户信息表 class UserInfo(models.Model): name = models.CharField(max_length=32) # 写choice use ...
- Ubuntu 18.04通过命令禁用/开启触控板
Ubuntu下经常遇到无法用快捷键关闭触控板的情况,博主的电脑安装Ubuntu18.04后便出现了该问题. 解决办法: 首先查看输入设备的id,命令行输入: xinput ,插鼠标与不插鼠标时,Tou ...