You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Today we are excited to announce that .NET 10 Preview 4 build was produced from dotnet/dotnet, using a new build system and repo structure! This is a major milestone in our Unified Build project, resulting in major efficiencies for the official build and aligning Microsoft practices with those of community .NET builders.
What's different?
From .NET Core 1.0 through .NET 9, we have had essentially two build systems that have evolved separately. Microsoft's build, which utilizes many small repositories and a complex dependency management system to produce a product, and a largely bespoke build that meets the requirements of our Linux distro partner community. We arrived at that situation by circumstance not intent. The new system corrects those challenges and enables Microsoft and the community to share a build system derived from the source-build system that the community had been using.
Unified Build?
The Unified Build project has been working for years to move from producing the core .NET product (SDK and runtimes) via a complex distributed, multi-repository build to a simpler system which builds the product from a single monolithic repository. This shift also brings closer alignment between the way that Microsoft and our Linux distro partners build .NET, a huge win for maintainability.
Unified Build drastically reduces build overhead by forcing "coherency" of components at all times and performing most of the building in a set of parallel jobs (like Linux-x64) we call "verticals". No need to flow dependency updates through a dozen+ repositories for days to get a shippable build. Instead, each "vertical " (e.g. Windows x64, MacOS arm64, etc.) is built in parallel, then stitched together at the end to form the shipping product. Even more exciting, Unified Build reaps these full-build wins without compromising the development efficiency of smaller repos by allowing source diffs (no mucking about with submodules) to flow to and from this "virtual" monolithic repository. A developer can work in an isolated repository, where tools and validation are tailored to a specific product component, without the overall product build incurring the cost that distributed development has. Or they can make cross cutting changes in the VMR repository itself, vastly accelerating inter-repo development.
What's next?
Over the coming months. We'll be refining code flow, optimizing the build, improving dev workflow, and generally working on Fit and Finish prior to shipping .NET 10. In addition, expect a deep-dive blog post about the effort some time mid-summer.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Today we are excited to announce that .NET 10 Preview 4 build was produced from dotnet/dotnet, using a new build system and repo structure! This is a major milestone in our Unified Build project, resulting in major efficiencies for the official build and aligning Microsoft practices with those of community .NET builders.
What's different?
From .NET Core 1.0 through .NET 9, we have had essentially two build systems that have evolved separately. Microsoft's build, which utilizes many small repositories and a complex dependency management system to produce a product, and a largely bespoke build that meets the requirements of our Linux distro partner community. We arrived at that situation by circumstance not intent. The new system corrects those challenges and enables Microsoft and the community to share a build system derived from the source-build system that the community had been using.
Unified Build?
The Unified Build project has been working for years to move from producing the core .NET product (SDK and runtimes) via a complex distributed, multi-repository build to a simpler system which builds the product from a single monolithic repository. This shift also brings closer alignment between the way that Microsoft and our Linux distro partners build .NET, a huge win for maintainability.
Unified Build drastically reduces build overhead by forcing "coherency" of components at all times and performing most of the building in a set of parallel jobs (like Linux-x64) we call "verticals". No need to flow dependency updates through a dozen+ repositories for days to get a shippable build. Instead, each "vertical " (e.g. Windows x64, MacOS arm64, etc.) is built in parallel, then stitched together at the end to form the shipping product. Even more exciting, Unified Build reaps these full-build wins without compromising the development efficiency of smaller repos by allowing source diffs (no mucking about with submodules) to flow to and from this "virtual" monolithic repository. A developer can work in an isolated repository, where tools and validation are tailored to a specific product component, without the overall product build incurring the cost that distributed development has. Or they can make cross cutting changes in the VMR repository itself, vastly accelerating inter-repo development.
What's next?
Over the coming months. We'll be refining code flow, optimizing the build, improving dev workflow, and generally working on Fit and Finish prior to shipping .NET 10. In addition, expect a deep-dive blog post about the effort some time mid-summer.
Follow along at https://github.com/dotnet/dotnet!
Beta Was this translation helpful? Give feedback.
All reactions