想写这篇文章缘起于公众号文章里的一条留言:

对于一个现代化的开发平台,建立一种让开发者创建,分享与使用可复用代码的机制是十分必要的。这种“可复用代码”被打包后的文件通常被称作“包”(package),对于.NET(包括 .NET Core)平台来说这个机制的实现就是NuGet平台。NuGet包的本质是一个以nupkg为后缀的zip压缩文件(你可以将后缀改为.zip后解压查看里面的内容),其中包含了编译后的Dll文件以及其他相关文件。

.NET Core是一个开源的模块化的Framework,不管是开发web或移动设备都在同一个Framework(.NET Core)下运行,而且 .NET Core也可在不同的操作系统上运行,包括Windows、linux、MacOS,实现了跨平台跨设备。更棒的是.NET Core 在发布程序时不用事先安装Framework而是通过Nuget下载,这样在初次部署时就不用安装一个复杂而庞大Framework,而是按需下载。这种基于Nuget的按需加载铸就了.NET Core 跨平台。.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 Nuget。

微软的官方文档《包、元包和框架 https://docs.microsoft.com/zh-cn/dotnet/core/packages》明确了.NET Core 是一种由 NuGet 包组成的平台。

NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以及更新组件即可一键完成,大大提升工作效率,减少不必要的引用报错。从运维角度,可在不影响老版本的情况下发布新版本,可统一管理公司各个项目中组件版本不一和各个版本组件的使用情况,减少故障发生以并使得项目稳定运行。
  • 开发.NET Core NuGet包并实现CI/CD

  • 自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference

  • 使用 Nexus3镜像搭设私有仓库(Bower 、Docker、Maven、npm、NuGet、Yum、PyPI)

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

  • .NET Core 从 Github到 Nuget 持续集成、部署

  • 记录使用 Cake 进行构建并制作 nuget 包

  • NuGet.org服务管理变更,提升中国用户体验

  • 华为云提供针对Nuget包管理器的缓存加速服务测试

原文地址:https://www.cnblogs.com/shanyou/p/11141579.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

你竟然没用 Nuget 构建项目?相关推荐

  1. nuget 构建自己的包_适用于企业的NuGet:持续集成自动构建系统中的NuGet

    nuget 构建自己的包 I had the pleasure of speaking at TechEd 2011 North America last week in Atlanta. You c ...

  2. Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构

    通过上一篇博文<Vue2+VueRouter2+webpack 构建项目实战(一):准备工作>,我们已经新建好了一个基于vue+webpack的项目.本篇文章详细介绍下项目的结构. 项目目 ...

  3. 构建项目时发生错误 - 错误:CS0006“... \ Assembly-CSharp-firstpass.dll”找不到

    构建项目时发生错误 - 错误:CS0006"... \ Assembly-CSharp-firstpass.dll"找不到 我正在为Hololens建立一个简单的项目. 独特的场景 ...

  4. Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(一)基础知识概述

    Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(一)基础知识概述 前言 2016年,我写了一系列的 VUE 入门教程,当时写这一系列博文的时候,我也只是一个菜鸟 ...

  5. Vue2+VueRouter2+webpack 构建项目实战(二)目录以及文件结构

    Vue2+VueRouter2+webpack 构建项目实战(二)目录以及文件结构 2017年8月补充 2016年,我写了一系列的 VUE 入门教程,当时写这一系列博文的时候,我也只是一个菜鸟,甚至在 ...

  6. Jenkins构建项目时报错“message“:“Error processing tar file(exit status 1): write/xxx/no space left on device

    文章目录 推荐文章 问题描述 原因分析: 解决方案: 1.查看磁盘占用情况 2.删除没有在用的镜像和容器 3.查找当前目录每个文件夹大小 推荐文章 Jenkins整合SpringCloud+GitLa ...

  7. vue使用命令行构建完项目后_vue-cli 构建项目在IE中无法运行解决方式(build之后可运行)...

    IE浏览器(只考虑IE11,更低版本我没考虑)运行时报 Promise未定义的错误 解决办法: 1. 安装babel-polyfill (1.)  npm install babel-polyfill ...

  8. sonar检测java vue项目_Jenkins集成SonarQube 实现构建项目同时审查代码

    软件版本: SonarQube:7.7 Jenkins:2.164.3 一.简介 SonarQube是一个开源的代码质量分析平台,便于管理代码的质量,可检查出项目代码的漏洞和潜在的逻辑问题.同时,它提 ...

  9. spring boot: 构建项目时报错Not a managed type

    今天在学习使用Spring Data JPA的时候,将bean和JpaRepository放在了不同的package中,导致无法构建项目,报以下错误: org.springframework.bean ...

最新文章

  1. 在.net 2.0中使用了masterpager 重写WebForm_OnSubmit()
  2. 如何QLayout内部的成员部件之间从左到右依次排列
  3. 【CSS实现Loading遮罩】点击按钮,弹出一个DIV层窗口
  4. 【Python】Numpy包的安装使用
  5. [转]Spinner的常用技巧
  6. 程序设计习惯养成计划---二、测试代码
  7. Ubuntu14.10安装Eclipse
  8. 一般纳税人与小规模纳税人有什么区别
  9. Hibernate 5 详解!
  10. VB2015编写的九宫格拼图游戏及暴力求解解法(主要使用datagridview和listbox控件)
  11. ubuntu dns 解析失败
  12. java 订单支付宝_Java支付宝订单查询
  13. 大学计算机课程实验指导书,《大学计算机基础》课程实验指导书.doc
  14. python比较学生名单与签到名单查缺勤(Excel)
  15. 【翻译】WhatsApp 加密概述(技术白皮书)
  16. 服务器在线监控,EasyNmon
  17. 博士申请 | 香港城市大学王鲁生教授招收生物信息学方向全奖博士生
  18. JSON 数据解析(Gson与FastJson)
  19. 新硬盘挂载目录后文件消失解决办法
  20. 【软工项目组】第十九次会议(Alpha版本完成并修复一些小BUG)

热门文章

  1. mac按文件名查找文件_如何在Mac上查找和删除大文件
  2. java多线程编程——锁优化
  3. Java里阻塞线程的三种实现方法
  4. [转]Excel导入异常Cannot get a text value from a numeric cell解决
  5. 【自定义标签开发】01-标签简介和开发第一个标签
  6. HDU 1964 Pipes
  7. Avalonia跨平台入门第十四篇之ListBox折叠列表
  8. 真快!10秒内将k8s集群运行起来
  9. WPF 实现展示反应盘、者试剂仓控件
  10. .NET基金会讨论 .NET 开源事业之路