NuGet学习笔记(3) 搭建属于自己的NuGet服务器

文章导读

创建NuGetServer Web站点

发布站点到IIS

添加本地站点到包包数据源

 

  在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重要的一步,从零开始搭建属于自己的NuGet服务器,诚然园子里及其它很多地方已经有完全写好的NuGet服务源码,我们只需要拿来发布一下就ok了,运行也很正常,但作为一名合格的程序猿,不建议这种拿来主义尤其时你自己可以搞定的时候,用别人写好的东西总有些心里不踏实,当有一天它出问题了你的悲剧就开始了,下面进入我们今天的主题

创建NuGetServer Web站点

1.新建Web站点,选择 文件-->新建项目-->Asp.Net 空 Web应用程序

2.选择 工具-->Library Package Manager-->Package Manager Console 打开NuGet命令行控制台

3.在控制台输入Install-Package NuGet.Server (请保持Package source:官方源,即 Nuget offical package source,一般默认即为官方Package源)

4.回车确认后开始下载并安装NuGet.Server类库及相关引用,并自动添加引用到项目
  注:具体输出根据版本不同会略有不同

   自动添加的引用

5.在控制台输入 Get-Package 可以看到刚刚安装的类库

6.除添加类库引用外,还自动添加了一些文件(关于这些文件及其作用本文不做探讨,有兴趣的可以自行研究下,都很简单)
/App_Readme/
/App_Readme/Elmah.txt
/DataServices/
/DataServices/Packages.svc
/DataServices/Routes.cs
/Packages/
/Packages/Readme.txt
/Default.aspx
/favicon.ico
/packages.config

同时Web.config也被修改,添加了一些配置项

7.至此NuGet.Server站点已经创建完毕,恩,你没有看错,就是这么简单,接下来部署到本地或IIS站点即可使用了

发布站点到IIS

1.发布网站到本地

2.IIS里面建立站点www.mynuget.com,主机头www.mynuget.com,应用程序池为.Net4.0集成模式,目录指向站点发布的目录

3.设置hosts 将www.mynuget.com执向本机

4.设置好hosts后,重新打开浏览器输入网址:http://www.mynuget.com/

5.查看已经发布的类库包 http://www.mynuget.com/nuget/Packages (可以把已经打好包的类库放到网站下的Packages文件夹下即可)

添加本地站点到包包数据源

1.选择 工具-->Library Package Manager-->Package Manager Settings 

2.输入名称 MyNuGetServer及包包源地址 http://www.mynuget.com/nuget 点击Add完成源添加

 

7.查看刚刚添加的类库源 工具-->Library Package Manager-->Manager NuGet Packages for Solution... 点击刚添加的源MyNuGetServer可以看到我们放到站点下的类库包,选中需要的包包点击 Install完成安装

8.也可以在控制台下安装,将类库源执行我们建立的源 MyNuGetServer,控制台下输入Install-Package Winista.HtmlParser完成安装

 

现在我们已经成功的搭建了自己的NuGet服务器。

注意点:

1.NuGet包包是放置在站点根目录下面的Packages文件夹下,如需要改变可以在配置文件packagesPath中进行设置,可以设置为相对目录或者物理目录

复制代码

<appSettings><!--Change the path to the packages folder. Default is ~/Packages.This can be a virtual or physical path.--><add key="packagesPath" value="" />
</appSettings>

复制代码

2.如何管理我们的包包,可以根据需要自行写个上传下载的文件管理功能,需要时上传到Packages文件下,不需要了删除即可,也可以像我一样写了个FTP服务,使用ftp上传下载

3.最好是为NuGet单独建立个站点这样管理着方便,若不方便建立独立站点可以随便找个现有的web站点,在里面安装NuGet.Server然后发布即可

回头看整个过程:安装NuGet扩展,下载网上的类库包供自己使用,打包自己的类库,搭建自己的NuGet服务器,整个流程基本走完了,剩下的就是我们如何去利用好NuGet这个强大的工具了。

源文件下载:NuGet.rar

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

REVERSE-PRACTICE-JarvisOJ-3

REVERSE-PRACTICE-JarvisOJ-3爬楼梯软件密码破解-1Classical CrackMe2Smali爬楼梯 apk文件&#xff0c;放到模拟器里运行一下 “爬一层楼”按钮可按&#xff0c;每按一下&#xff0c;“已爬的楼层”加1层 “爬到了&#xff0c;看FLAG”按钮不可按&#xff0c;应该是“已爬的楼…

管理全局包、缓存和临时文件夹

每当安装、更新或还原包时&#xff0c;NuGet 将管理项目结构多个文件夹之外的包和包信息&#xff1a; name说明和位置&#xff08;每个用户&#xff09;global‑packagesglobal-packages 文件夹是 NuGet 安装任何下载包的位置。 每个包完全展开到匹配包标识符和版本号的子文件…

REVERSE-PRACTICE-JarvisOJ-4

REVERSE-PRACTICE-JarvisOJ-4Classical CrackmeFindKeyClassical Crackme exe程序&#xff0c;输入注册码&#xff0c;输入错误弹窗 查壳发现是.Net程序&#xff0c;dnSpy打开&#xff08;要不要用de4dot unpack无所谓&#xff0c;这里打开的是解包过的程序&#xff09; 按下“…

在解决方案中所使用 NuGet 管理软件包依赖

使用程序包恢复功能可以在提交源代码时, 不需要将 packages 中的程序集文件提交到源代码管理中&#xff0c;大幅减少项目的尺寸。所有NuGet程序包都存储在解决方案的Packages文件夹中。 要启用程序包恢复功能&#xff0c;可右键单击解决方案&#xff08;注意&#xff0c;不是右…

REVERSE-PRACTICE-BUUCTF-1

REVERSE-PRACTICE-BUUCTF-1easyrereverse1reverse2内涵的软件easyre exe程序&#xff0c;无壳&#xff0c;ida分析 左侧函数窗找到main函数&#xff0c;flag提交即可 reverse1 exe程序&#xff0c;运行后提示输入flag&#xff0c;ida分析 左侧函数窗无明显的main函数&#…

REVERSE-PRACTICE-BUUCTF-2

REVERSE-PRACTICE-BUUCTF-2新年快乐[BJDCTF 2nd]guessgamehellowordxor新年快乐 exe程序&#xff0c;运行后提示输入正确的flag&#xff0c;有upx壳&#xff0c;常规工具脱壳即可 ida分析&#xff0c;左侧函数窗找到main函数&#xff0c;F5反汇编&#xff0c;简单的输入比较逻…

REVERSE-PRACTICE-BUUCTF-3

REVERSE-PRACTICE-BUUCTF-3reverse3不一样的flagSimpleRevJava逆向解密reverse3 exe程序&#xff0c;无壳&#xff0c;用ida分析 左侧函数窗最后找到main函数&#xff0c;F5反汇编 先base64&#xff0c;然后顺序加上对应的下标&#xff0c;最后比较&#xff0c;写逆脚本即可得…

console对象的方法log、info、warn、error的区别及几个实用的方法

先说一下console&#xff0c;JavaScript 原生中默认是没有 Console 对象&#xff0c;这是某些浏览器提供的内置对象。 在不同的浏览器里显示可能不同 下面的运行截图中&#xff0c;图中的灰色是运行的这句&#xff0c;灰色下面是此句运行的结果 log()、info()、warn()、error()…

认识ASP.NET 5项目结构和项目文件xproj

ASP.NET 5 在项目结构上做了很大的改变&#xff0c;我们以前熟悉的目录结构与项目文件内容都不太一样了&#xff0c;本篇文章带大家了解 ASP.NET 5 到底跟以前有哪些不一样的地方。 我们先用 Visual Studio 2015 建立一个全新的 ASP.NET 5 网站项目&#xff0c;打开VS2015&…

REVERSE-PRACTICE-BUUCTF-4

REVERSE-PRACTICE-BUUCTF-4刮开有奖[BJDCTF 2nd]8086[GKCTF2020]Check_1n[GXYCTF2019]luck_guy刮开有奖 exe文件&#xff0c;运行后无任何提示&#xff0c;无壳&#xff0c;用ida分析 WinMain->DialogBoxParamA->DialogFunc DialogBoxParamA函数&#xff1a; DialogFun…

REVERSE-PRACTICE-BUUCTF-5

REVERSE-PRACTICE-BUUCTF-5findit简单注册器[GWCTF 2019]pyre[BJDCTF2020]JustREfindit apk文件&#xff0c;直接上jadx-gui分析 验证输入的逻辑比较简单&#xff0c;写脚本即可 安装这个apk&#xff0c;将字符串输入即可得到flag&#xff0c;当然也可以直接写输出flag的脚本…

REVERSE-PRACTICE-BUUCTF-6

REVERSE-PRACTICE-BUUCTF-6rsaCrackRTF[2019红帽杯]easyRE[ACTF新生赛2020]easyrersa 解压出来是.enc和.key两个文件&#xff0c;.enc是密文&#xff0c;.key存放着公钥信息 使用在线网站或者openssl解析.key文件中存放着的公钥信息 可获知rsa需要的模数n和公钥e 使用在线网站…

vs项目结构解析

当我们用VS开发一个项目的时候&#xff0c;首先应该清楚用VS这个IDE生成的一些文件和文件夹是什么意思&#xff0c;起什么作用&#xff0c;什么场合下使用。 因为我使用的是VS2015&#xff0c;就以这个为例来进行一些说明&#xff1a; 首先要做的是更改你的操作系统&#xff…

REVERSE-PRACTICE-BUUCTF-7

REVERSE-PRACTICE-BUUCTF-7Youngter-drive[ACTF新生赛2020]rome[FlareOn4]login[SUCTF2019]SignInYoungter-drive exe程序&#xff0c;运行后提示输入flag&#xff0c;有upx壳&#xff0c;脱壳后ida分析 main函数中获取输入并拷贝&#xff0c;开启了两个线程分别运行StartAddr…

REVERSE-PRACTICE-BUUCTF-8

REVERSE-PRACTICE-BUUCTF-8[GUET-CTF2019]re相册[V&N2020 公开赛]strangeCpp[BJDCTF2020]easy[GUET-CTF2019]re elf文件&#xff0c;有upx壳&#xff0c;脱壳后ida分析 字符串交叉引用来到主逻辑函数sub_400E28 逻辑清晰&#xff0c;获取输入&#xff0c;验证输入&#xf…

NuGet的使用、部署、搭建私有服务

目录 前言 什么是NuGet?为什么要使用NuGetNuGet的优点使用 Get-Help NuGetInstall-PackageGet-PackageUninstall-Package制作NuGet库包搭建NuGet服务器上传NetGet库包新增NuGet源总结前言 什么是NuGet? Nuget是一个.NET平台下的开源的项目&#xff0c;它是Visual Studio的…

REVERSE-PRACTICE-BUUCTF-9

REVERSE-PRACTICE-BUUCTF-9[ACTF新生赛2020]usualCrypt[MRCTF2020]Transform[V&N2020 公开赛]CSRe[WUSTCTF2020]level1[ACTF新生赛2020]usualCrypt exe程序&#xff0c;运行后提示输入flag&#xff0c;无壳&#xff0c;ida分析 main函数逻辑清晰&#xff0c;获取输入&…

ASP.NET MVC Beta 新特性之 IValueProvider

在刚发布的ASP.NET MVC Beta版中&#xff0c;在UpdataModel方法中提供了一个带有IValueProvider参数的重载。那么这个IValueProvider有什么用呢&#xff1f; 我们先来看一个简单的场景&#xff0c;例如我们的blog系统有一个Post的对象&#xff0c;Post对象有一个Tags属性和Cat…

REVERSE-PRACTICE-BUUCTF-10

REVERSE-PRACTICE-BUUCTF-10[GWCTF 2019]xxor[HDCTF2019]Maze[WUSTCTF2020]level2[BJDCTF2020]BJD hamburger competition[GWCTF 2019]xxor elf文件&#xff0c;无壳&#xff0c;用ida分析 main函数的逻辑清晰&#xff0c;首先获取输入&#xff0c;为6个int64的值&#xff0c;…

Axure教程 axure新手入门基础(1)

axure新手入门基础(1) 名词解释&#xff1a; 线框图&#xff1a;一般就是指产品原型&#xff0c;比如&#xff1a;把线框图尽快画出来和把原型尽快做出来是一个意思。 axure元件&#xff1a;也叫axure组件或axure部件&#xff0c;系统自带了一部分最基础常用的&#xff0c;网上…