2023年 .NET Monorepo 来了

net,monorepo · 浏览次数 : 1856

小编点评

**Monorepo ( Monolithic Repository )** **什么是 Monorepo?** Monorepo 是一个项目架构,它将多个项目或包文件放到一个 git 仓库中管理。 **优点:** * **代码复用:**开发人员可以共享代码,从而简化开发流程。 * **高效管理:**通过统一管理多个项目,monorepo 提高了效率。 * **版本控制:**git 是一种强大的版本控制工具,可以方便地跟踪代码变更。 **dotnet 的 Monorepo 存储库** `dotnet/dotnet` 存储库是一个用于 .NET 项目的 Monorepo。它是在 2022 年 12 月发布的,并提供了针对 .NET 8 预览版 1 的简化解决方案。 **主要特征:** * **整体式存储库:**存储库是整体式的,这意味着单个提交可以完全标识生成 .NET SDK 所需的整个源代码虚拟。 * **镜像构建:**VMR 构建整个产品构建系统,包括 .NET 的全产品构建系统。 * **实验性:**存储库目前处于实验阶段,但它可以简化发布过程。 **结论:** Monorepo 是一个强大的项目架构,可以帮助开发人员管理多个项目或包文件。 dotnet 的 `dotnet/dotnet` 存储库是一个可供参考的示例,它提供了一种简化的发布流程。

正文

Monorepo(monolithic repository)是一种项目架构,简单来说就是,将多个项目或包文件放到一个git仓库来管理,很多前端项目vue3、element都是采用的这种架构模式。 之所以应用monorepo,主要是解决以下问题:

  • 代码复用的问题 。
  • 开发流程统一 。
  • 高效管理多项目/包。

随着.NET 8 Preview 1发布的临近, 今天要给各位介绍一下 dotnet的一个Monorepo存储库:https://github.com/dotnet/dotnet 。 这个仓库早在2022年的12月份就发布了 ,具体可以参见:https://github.com/dotnet/arcade/issues/11584

这个新存储库是虚拟整体式存储库 (VMR)。它包括生成 .NET SDK 所需的所有代码,这些代码是从各个产品存储库(如 dotnet/roslyndotnet/runtime)镜像的。也包括用于构建Linux上 .NET 的全产品构建系统 https://github.com/dotnet/source-build

VMR 具有以下主要特征:

  • 整体式 - 存储库是整体式的,因此单个提交即可完全标识生成 .NET SDK 所需的整个源代码
  • 虚拟 - 它是构成整个产品的单个产品存储库的镜像(而不是替代品),并排放置在一个存储库中。对基础单个产品存储库所做的更改将同步到 VMR。
  • 实验性 - 目前,存储库是简化发布过程的计划的一部分,并不意味着依赖于此。我们预计该存储库将在计划于2023年 2 月发布的 .NET  8.0 预览版 1 首次使用。

存储库是一个正在进行的工作,有很多限制,按照路线图 https://github.com/dotnet/dotnet/blob/main/src/arcade/Documentation/UnifiedBuild/Roadmap.md ,这是我们在 .NET 历史上开发、构建和交付产品的方式上的最大变化。需要两个版本(.NET 8 和.NET 9)才能完成交付。

与2023年 .NET Monorepo 来了相似的内容:

2023年 .NET Monorepo 来了

Monorepo(monolithic repository)是一种项目架构,简单来说就是,将多个项目或包文件放到一个git仓库来管理,很多前端项目vue3、element都是采用的这种架构模式。 之所以应用monorepo,主要是解决以下问题:代码复用的问题 。开发流程统一 。高效管理多项目/包。

.NET周报 【2月第3期 2023-02-18】

国内文章 2023 年.NET仓库社区年度调查已经开始 https://mp.weixin.qq.com/s/H9xUAO_yAdqm5CIHBs_eqA 中国地区是 .NET 的一个重要的市场和社区,有着众多的 .NET 开发者和爱好者。中国地区也有着很多优秀的 .NET 相关的项目和资源。这些项

.NET 团队 更新了 .NET 语言策略

2023年2月6日 ,.NET团队在官方博客上发布了.NET 语言策略的更新文章,具体参见 https://devblogs.microsoft.com/dotnet/update-to-the-dotnet-language-strategy/。微软在.NET平台上提供3种语言 - C#,F#和V

.NET 8 Preview 5发布,了解一下Webcil 是啥

2023年6月13日 .NET 8 Preview 5,.NET 团队在官方博客发布了系列文章: Announcing .NET 8 Preview 5 ASP.NET Core updates in .NET 8 Preview 5 Announcing .NET MAUI in .NET 8 P

.NET 8 Preview 6发布,支持新的了Blazor呈现方案 和 VS Code .NET MAUI 扩展

2023年7月11日 .NET 8 Preview 6,.NET 团队在官方博客发布了系列文章:Announcing .NET 8 Preview 6[1]ASP.NET Core updates in .NET 8 Preview 6[2]Announcing .NET MAUI in .NET

Visual Studio 集成了.NET 升级助手插件

.NET团队2023年2月16日在官方博客上发布了名为“.NET Upgrade Assistant”的全新 Visual Studio 扩展,帮助开发人员升级.NET 应用程序。这意味着程序员可以不通过命令行工具升级.NET 应用程序。项目经理Olia Gavrysh 在文章中写道:“我们非常高兴

.NET周报【1月第3期 2023-01-20】

这应该是2023年农历新年前的最后一篇.NET周报,再次预祝大家新年快乐! 国内文章 看我是如何用C#编写一个小于8KB的贪吃蛇游戏的 https://www.cnblogs.com/InCerry/p/building-a-self-contained-game-in-c-under-8-kilo

NET 8 预览版 2 亮点是Blazor

.NET 团队在2023年3月14日发布了.NET 8预览版2,博客文章地址:https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-2/, 亮点是了对Blazor的一些改进。Blazor 方面获得了一个高性能网格组件Qui

.NET 8 发布的最后一个预览版Preview 7, 下个月发布RC

微软在2023年8月9日 发布了.NET 8 Preview 7[1],这是它在11月14日 RTM 之前进入发布候选阶段之前的最后预览版。 该预览版也于也与 VS 2022 v17.7 版本一起发布。对于预览版7,System.Text.Json 和 codegen 在此版本中具有最大的变化。所有

C#/.NET/.NET Core优秀项目和框架2023年9月简报

前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(公众号每周至少推荐两个优秀的项目和框架当然节假日除外),公众号推文有项目和框架的介绍、功能特点以及部分截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不