一. 搭建私有nuget仓储服务器

1. 使用Visual Studio创建Web Application项目, .NET Framework选择4.6.1, 空Web项目

2. 安装私有nuget仓储服务器相关包文件

请在程序包管理器控制台中执行 Install-Package nuget.server, 等待完成

3. 修改Web.config配置文件

a. 在system.web节点下, 如果有多个compilation节点, 仅保留targetFramework="4.6.1"的节点, 其他的请删除;

b. 在system.webServer的handlers节点, 只保留verb="GET,HEAD,POST,PUT,DEBUG"的"ExtensionlessUrlHandler-Integrated-4.0"项, 其他的"ExtensionlessUrlHandler-Integrated-4.0"项请删除

1 <handlers>
2     <remove name="OPTIONSVerbHandler" />
3     <remove name="TRACEVerbHandler" />
4     <remove name="WebDAV" />
5     <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
6     <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,PUT,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
7 </handlers>

c. 设置appSettings节点中的apiKey值, 这个是私有nuget仓储服务器的密钥, 请自己设置

d. 建议将appSettings节点中的allowOverrideExistingPackageOnPush设置为true, ignoreSymbolsPackages设置为false

二. 创建目标解决方案

这个是你实际的项目, 省略.

项目目录结构图:

二. 打包程序集

  这里我使用powershell脚本方式. 在你的解决方案文件所在目录下创建一个nupkg的目录, 然后在这个目录下创建一个名为pack.ps1的powershell脚本文件, 文件内容如下

# Paths
$packFolder = (Get-Item -Path "./" -Verbose).FullName
$slnPath = Join-Path $packFolder "../"
$srcPath = Join-Path $slnPath "src"# List of projects
$projects = (    "MyNugetServer"
)

# Copy all nuget packages to the pack folder
foreach($project in $projects) {$projectFolder = Join-Path $srcPath $project$projectFileName = $project + ".csproj"Set-Location $projectFolderRemove-Item -Recurse (Join-Path $projectFolder "bin/Release")  nuget pack $projectFileName -Build -Prop Configuration=Release -OutputDirectory .\bin\Release# Copy nuget package$projectPackPath = Join-Path $projectFolder ("/bin/Release/" + $project + ".*.nupkg")Move-Item $projectPackPath $packFolder -Force
}# Go back to the pack folder
Set-Location $packFolder

打开powershell ISE, 转到pakc.ps1文件所在目录, 然后输入./pack.ps1即可开始执行打包任务

三. 将打包好的包文件推送到私有nuget仓储服务器

  这里我使用powershell脚本方式. 在你的解决方案文件所在目录下创建一个nupkg的目录, 然后在这个目录下创建一个名为push.ps1的powershell脚本文件, 文件内容如下

# Paths
$nupkgFiles = (Get-Item *.nupkg).FullName# Copy all nuget packages to the pack folder
foreach($nupkgFile in $nupkgFiles) {nuget push $nupkgFile -Source http://127.0.0.1/nuget -ApiKey 12345qwertRemove-Item $nupkgFile
}

  其中设置的apiKey, 请替换成你自己在第一步中设置的值.

  打开powershell ISE, 转到push.ps1文件所在目录, 然后输入./push.ps1即可将你的包文件推送到私有nuget仓储服务器

四. 其他

  1. 目录结构不一定要和我的完全一致, 只要你自己的项目目录结构与powershell脚本中的规则一致. 如果你不清楚, 还是根据我的目录结构来吧. 特别要注意的是解决方案文件(sln)的路径, 我是放在项目根目录下的

  2. 描述的不是特别清楚, 如果你有疑问, 请在评论里提出

转载于:https://www.cnblogs.com/oxsir/p/create-a-private-nuget-repository-server_package-and-push-it.html

windows系统下搭建私有nuget仓储服务器, 打包程序集并推送到私有nuget仓储服务器...相关推荐

  1. Windows系统下搭建NFS服务器

    Windows系统下搭建NFS服务器       在windows系统中采用NFS功能实现文件共享,让Linux系统来访问. 首先在windows系统中安装一个实现NFS功能的第3方软件haneWin ...

  2. Windows系统下搭建MPI环境

    Windows系统下搭建MPI环境 MPI的全称是Message Passing Interface即标准消息传递界面,可以用于并行计算.MPI的具体实现一般采用MPICH.下面介绍如何在Window ...

  3. Windows系统下搭建MPI(并行计算)环境

    Windows系统下搭建MPI环境 MPI的全称是Message Passing Interface即标准消息传递界面,可以用于并行计算.MPI的具体实现一般采用MPICH.下面介绍如何在Window ...

  4. windows系统下搭建 ZeroTier moon服务器

    ZeroTier 是一个虚拟局域网软件,局域网内的机器,流量不走公网,降低了风险和费用.而且软件开源,同一子网下免费使用100个机器,然而在国内如果要用好ZeroTier,最好搭建MOON转发服务器. ...

  5. 在Windows系统下搭建ELK日志分析平台

    2018年07月11日 22:29:45 民国周先生 阅读数:35 再记录一下elk的搭建,个人觉得挺麻烦的,建议还是在linux系统下搭建,性能会好一些,但我是在windows下搭建的,还是记录一下 ...

  6. 使用qemu在windows系统下搭建树莓派3b环境运行RT-Thread

    需要下载的资源 表1 下载资源 序号 资源名称 下载地址 说明 1 raspi3b_run_rt_thread_in_Qemu.rar https://download.csdn.net/downlo ...

  7. windows系统下搭建cloudreve网盘系统

    最近博主想搭建属于自己的网盘系统,去github上看了一些开源项目,比较对cloudreve感兴趣,但是github的搭建步骤不全以及网上没有完整的搭建博文,于是,博主想自己搭建cloudreve网盘 ...

  8. Windows系统下搭建Git本地代码库

    近由于工作需要,要把工作代码做一下版本管理.工作代码也不方便放到github上,也不想付费建私密库,公司也没几个人,所以就想着搭建一个本地Git版本库,来做版本管理.搭建过程如下. 系统环境:Dell ...

  9. Windows 系统下搭建 WAMP 环境

    Wamp就是Windos Apache Mysql PHP集成安装环境,即在window下的apache.php和mysql的服务器软件.其中php环境配置是至关重要的一部分,本文就针对php在本地的 ...

  10. Windows系统下搭建python selenium Web自动化测试环境

    前期准备:python的安装包(自己可以在官网下载自己所需要的版本 https://www.python.org/downloads/windows/) selenium安装包(https://pyp ...

最新文章

  1. Spring入门详细教程(三)
  2. c语言函数打印零星,C语言零星笔记--(const、typedef)
  3. 数据挖掘十大经典算法之——KNN 算法
  4. MyEclipse自动补全
  5. 为什么即使在班级均衡的情况下,准确度仍然令人困扰
  6. 华为搜索引擎面世,百度搜索有点危险了!
  7. ENVI 5.6安装教程及安装包下载
  8. 传智播客黑马程序员之JAVA基础深入浅出精华版
  9. Nero刻录软件超级实用技巧大搜罗
  10. 【stm32f407】硬件介绍
  11. 魔兽对战平台服务器更新维护什么,魔兽官方对战平台更新:公会系统正式上线!...
  12. 锐龙R3 2200G和Intel i3-8100选哪个好
  13. 一文读懂多帧超分辨率来龙去脉2019
  14. 倘若有天你不想再敲代码了,你想做什么?
  15. 舞蹈迁移:EverybodyDanceNow reproduced in pytorch
  16. Creo 9.0 基准特征:基准坐标系
  17. 全国大学生数学竞赛公式(全)
  18. 大学物理·第4章刚体的转动
  19. MATLAB程序:BPSK/QPSK的调制与解调
  20. 计算机网络实验五:Wireshark软件使用与ARP协议分析

热门文章

  1. Atitit 如何做数据分析 描述型:发生了什么?可视化仪表盘化很重要。 1 2. 诊断型:为什么会发生?结合历史记录 1 3. 预测型:可能发生什么? 2 4. 指导型 规划未来行动:我需要做什
  2. Atitit 软件采购与服务 实现的三种模式 企业软件V1.0模式=传统模式 1,定制开发类型, 主要特点为通用性差,需求独特。通常单项目价格高,多为政府采购或者垄断企业的大单。 2,标准产品轻
  3. paip.Adblock屏蔽规则保存位置以及修理恢复
  4. 广发基金总经理林传辉:深耕资产管理本源做投资者的资产配置专家
  5. 中信银行王燕:数据治理在当今银行的作用价值与实战建议
  6. 没有人更比他懂基金业务:博格和他的先锋集团创业史(4):
  7. SpringCloud 应用在 Kubernetes 上的最佳实践(二):部署篇 (开发部署)
  8. 斥资57亿美金,Facebook 入局印度 | 凌云时刻
  9. 新品Demo —— ZStack CMP多云管理平台
  10. 【图像隐写】基于matlab GBT+SVD数字水印嵌入与提取【含Matlab源码 1668期】