手把手教你 通过 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包到库里面: 将私有 ...
随机推荐
- VS2019打开旧项目导致引用失效的解决方案
用VS2019打开VS2015创建的MVC项目时所有引用全部失效: 解决方案: 打开项目的csproj文件,删除 Target节点,在重新打开项目. <Target Name="Ens ...
- asp.net发布后其他电脑部署——未能加载文件或程序集 System.Web.Mvc, Version=2.0.0.0, Culture=neutral,
本机测试及发布使用正常 在项目中添加了引用但相关dll文件未在bin文件夹中 导致发布后部署其他电脑未能加载程序集 网上说要下载相关内容在部署服务器安装 但怕在服务器安装出现其他问题 所以在项目中重新 ...
- JMM和Volatile底层原理分析
JMM和volatile分析 1.JMM:Java Memory Model,java线程内存模型 JMM:它是一个抽象的概念,描述的是线程和内存间的通信,java线程内存模型和CPU缓存模型类似,它 ...
- AES加解密异常java.security.InvalidKeyException: Illegal key size
AES加解密异常 Java后台AES解密,抛出异常如下:java.security.InvalidKeyException: Illegal key size Illegal key size or ...
- LR实现处理PUT方法的案例
- php对象复制、clone、浅复制与深复制实例详解
php对象复制.clone.浅复制与深复制实例详解 一.用clone(克隆)来复制对象$obj1 = new Object();$obj2 = clone $obj1;clone方法会触发对象里定义的 ...
- nodejs块级作用域
现在让我们了解3个关键字var.let.const,的特性和使用方法. var JavaScript中,我们通常说的作用域是函数作用域,使用var声明的变量,无论是在代码的哪个地方声明的,都会提升到当 ...
- 深入理解Vue组件3大核心概念
摘要: 搞懂Vue组件! 作者:浪里行舟 原文:详解vue组件三大核心概念 Fundebug经授权转载,版权归原作者所有. 前言 本文主要介绍属性.事件和插槽这三个vue基础概念.使用方法及其容易被忽 ...
- linux ssh免密
1.ssh-keygen -t rsa 生产密钥 2.ssh-copy-id 192.168.44.10 发布密钥
- python 之Lambda表达式
python 的 lambda 表达式 python写一些执行脚本时,使用lambda就可以省下定义函数的过程,比如说我们只是需要写个简单的脚本来管理服务器时,我们就不用专门定义函数然后再写调用,使用 ...