手动搭建自己的nuget服务器及使用

发布时间 2023-04-12 10:20:20作者: funiyi816

手动搭建自己的nuget服务器及使用 

这篇文章的主要目的:

1.搭建自己的私有的nuget服务器

2.打包代码为nuget包

3.在其他项目中使用私有服务器上的nuget包

一. 搭建自己的nuget服务器

1. 创建一个空的ASP.NET Web 应用程序

2.使用nuget管理器,添加nuget.server包

安装成功以后,目录结构如下图

3. 在项目上右键 生成网站 ,并运行

效果如下:

 

从图中可以看出,错误原因:

web.config中有节点重复错误

4. 修改web.config中的错误节点:即删除重复节点 compilation 

 

 删除下面的compilation节点

5.重新编译,生成网站,并运行

点击here

如上所示,则nuget服务器搭建成功

然后,把项目发布到 本地 IIS 服务器上

附录:

这里附上 IIS 的发布

(1). 右键项目,发布

(2). 选择文件夹,及设置发布路径

 

(3). 点击上个步骤中的发布按钮

如图,发布成功

(4). 在IIS中添加网站

(5). 可以做如下配置,点击确定

注意,点击确定后,确保应用程序池中相应的应用是4.0版本

即,把2.0的修改为4.0

(6). 浏览 http://localhost:8090/ 

 

点击,第一个here

如上,网站在IIS部署成功

二. 把代码打包为nuget包

1.右键点击解决方案,添加,新建项目

2. 如下图,添加类库

3. 右键ClassLibrary1类库,点击生成

4. 进入项目所在文件夹,并把nuget.exe复制到该文件夹下

注意:nuget.exe下载路径,在这

如上图,并在该目录进入cmd命令

 5. 在该目录下,操作cmd命令

 回车后,生成如下则表示成功

同时,该文件夹下,多出一个 .nupkg 文件

6.现在nuget包就已经打好了

但是,如果我们想在我们的私有nuget服务器上有这个包,我们还需要把.nuget文件传到我们私有nuget服务器上;

如果有需要,可以自己在nuget私有服务器项目中添加一个上传功能,这里选择简单方式。

即直接把打包生成的.nuget文件直接复制粘贴到 nuget服务器的 Packages 文件夹下,

这里的路径为:G:\Dot_NET\wwwroot\nugetserverdemo\Packages

 

得到上图,

综上,ClassLibrary1的nuget包就已经在我们的nuget服务器上了。

访问网站,点击第一个here,可以得到,如下:

 

三. 在其他项目中,使用我们私有nuget服务器上的nuget包

 1. 右键解决方案,添加一个新的项目

选择ASP.NET Web应用程序 ,项目名称 NugetTest

选择mvc

最后,点击确认

2. 进入nuget包管理器,配置程序包源

 如下,把本地nuget私有服务器地址添加

3.选择 private nuget.test 源,如下

 可以正常显示nuget私有服务器上的ClassLibrary1的nuget包,故这里就算成功了。

四. 最后,这里再说下,自己的一些尝试结果

1. 在搭建nuget私有服务器时,因为有nuget.server.core,所以,刚开始,有试过创建dotnet core 的版本,但是显示的有部分不兼容。所以,直接就放弃了,没有试验。

2. 还有就是中间,在搭建nuget私有服务器时,有尝试创建 以前老版本的ASP.NET 空网址,但是在引入nuget.server 3.x 版本以后,虽然,网站建立起来了,

 但是,点击网站的第一个here时,并不能正常访问,所以,也失败。

3 . 还有就是刚开始,在IIS上部署的时候,部署会报500的错误,也浪费了一些时间,之后我尝试建的asp.net core webapi项目发布到IIS后,也会报错,

这里只说下解决的办法,因为本机环境dotnet core 2.2 版本,之前装的runtime版本是2.1.6 ,在发布到IIS以后,不知道什么原因有500的错误;之后下载最近的hosting 2.2.5版本,IIS终于可以正常了。