这篇文章的主要目的:

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终于可以正常了。

注意:如果你的IIS在部署dotnet core项目时,出现问题,可以尝试下载最新的 runtime 试试 能否解决 ,这里给出 地址

手动搭建自己的nuget服务器及使用的更多相关文章

  1. 用ProGet搭建内部的NuGet服务器

    最近团队内部用的一个很简陋的NuGet服务器出问题了,nuget push发包,客户端显示发布成功,服务器上就是没有.懶得再去排查这个问题,早就想换掉这个过于简陋的NuGet服务器,借此机会直接弃旧迎 ...

  2. 搭建自己的Nuget服务器

    序言 你们公司有没有好多项目,有没有好多类库,你们的类库是在tfs中管理,还是svn或者github,又或者是各自为政版本类库随意使用? 那么你们使用者写类库的时候方便吗? 有没有更新下载,版本不一致 ...

  3. 用ProGet搭建内部的NuGet服务器(更新安装步骤)

    以下是转自dudu的文章,但是我发觉时间的问题,他的安装方法已经不适用了,所以这里我更新了安装方法: 最近团队内部用的一个很简陋的NuGet服务器出问题了,nuget push发包,客户端显示发布成功 ...

  4. (转)搭建自己的Nuget服务器

    转:https://www.cnblogs.com/knowledgesea/p/5500954.html 序言 你们公司有没有好多项目,有没有好多类库,你们的类库是在tfs中管理,还是svn或者gi ...

  5. 搭建自己的NuGet服务器,上传自定义NuGet包

    第一步搭建NuGet服务器 创建空Web项目 安装Nuget服务,目前最新版本2.8.2 安装完成,会自动生产服务,出现如下界面 发布该网站,并部署至IIS 将.nupkg文件发布至网站的Packag ...

  6. 手动搭建apache james邮件服务器,实现邮件功能

    最近一直在搞邮件这块,本来我们邮件发送是用的腾讯免费的企业邮箱,邮件功能没有问题,但是由于邮件的限制,如下: 这些限制导致我们的部分客户是收不到邮件的,哪怕付费,这样的固定频率限制也是无法解决的,可以 ...

  7. 手动搭建latex公式渲染服务器

    latex公式渲染有两种类型,一种是HTML形式展示公式,另一种是图片形式展示公式.如果是HTML形式展示公式,渲染是在前端完成的,一般会比较缓慢.知乎采取的方式是以图片形式展示公式.codecogs ...

  8. vs2017搭建自己的nuget服务器

    准备环境 vs2017 第一步  创建一个新的asp.net 空网站 .net框架使用4.6以上版本 (或者在第二部中使用低版本的nuget server) 第二步  打开nuget包管理器 搜索nu ...

  9. 通过ProGet搭建一个内部的Nuget服务器

    .NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以 ...

随机推荐

  1. Qt - QDialog,QWidget实现模态及非模态(模态Widget不能有父窗口,如果设置无边框就不能阻塞父窗口,但是可以强行设置指定Qt::Dialog,还可以setAttribute(Qt::WA_ShowModal),很多讲究)good

    在Qt中QDialog为“窗口”,而QWidget为“部件”,首先还是了解下<Qt 窗口与部件的概念>. 对于 QDialog 的模态及非模态是直接可以实现的,很多课本中都会提到,此处总结 ...

  2. 在Microsoft Expression Blend 2 中绘制圆角矩形按钮

    原文:在Microsoft Expression Blend 2 中绘制圆角矩形按钮 /* 声明:转载请保留此信息:http://www.BrawDraw.com, http://www.ZPXP.c ...

  3. 关于FileZilla上传文件后服务器端文件与本地文件大小不一致的解决方法

    最近在调试网站时发现,通过ftp上传工具FileZilla上传至服务器端的文件与本地文件大小不一致,虽然没有影响网站的最终显示效果,但仍让我困惑不解.后发现是传输类型的原因,解决方法如下: 中文版Fi ...

  4. ShopNC本地生活o2o网站的源代码,没有域名限制

    较前某VIP源代码论坛分享了套ShopNC本地生活o2o站点系统.下载过来却发现根本不能用,所以一直没分享出来.今天咱们这边分享的这套ShopNC本地生活o2o站点源代码,无不论什么的限制,直接ins ...

  5. web开发中../、./、/的区别

    原文:web开发中../.././的区别 最近在业余时间慢慢玩起了网站开发,觉得挺有意思的.在开发过程中,老是分不清 ../.././三者之间的区别,也老是弄混,最后仔细搜索研究了一下,现在终于懂了. ...

  6. WPF分辨率适应

    double x = SystemParameters.WorkArea.Width;//得到屏幕工作区域宽度 double y = SystemParameters.WorkArea.Height; ...

  7. adb 命令连接指定设备

    试用条件: 当有多个设备online时: 步骤: 1. 通过adb devices命令获取所有online设备的serial number C:\Users\Administrator>adb ...

  8. C#破解access数据库密码方法

    原文:C#破解access数据库密码方法 using System; using System.Collections.Generic; using System.IO; using System.L ...

  9. 程序异常崩溃后用windbg辅助调试解决的经验 以及 堆栈问题调试经验

    1,程序异常崩溃后用windbg辅助调试解决的经验  状况:我的程序调用别人的库做 文件写入工作. 在这一过程中出现异常,程序崩溃. 经反复检查,认为自己的程序没有错,但无法判断在别人库里哪里有错. ...

  10. Android零基础入门第19节:Button使用详解

    原文:Android零基础入门第19节:Button使用详解 Button(按钮)是Android开发中使用非常频繁的组件,主要是在UI界面上生成一个按钮,该按钮可以供用户单击,当用户单击按钮时,按钮 ...