Description
When we're source-building .NET, runtime gets built twice: once as runtime-portable
, and then as (non-portable) runtime
.
The runtime-portable
is taking up a large chunk of the build time, and it would be a huge improvement if we can eliminate it.
This means that builds should accept the rid-specific packages instead of using the packages which are built with a portable name.
We must also guard the single runtime
build preserves the built-from-source requirement.
It shouldn't output artifacts that were directly copied from the pre-built SDK and pre-built packages, like the app host and assets from runtime packages.
Tasks:
- runtime: support building from non-portable packages (source-build: support building runtime using non-portable runtime packages. runtime#75597)
- aspnetcore: support building from non-portable packages source-build: support building aspnetcore using non-portable runtime packages. aspnetcore#43937
- Microsoft.NETCore.App.Crossgen2: don't use pre-builts (Microsoft.NETCore.App.Crossgen2.sfxproj in source-build runtime#74721)
- ...
- add test
The test should do two passes. The first pass uses a portable pre-built SDK. The second pass uses the non-portable SDK that was the output of the first pass. This ensures source-build also works when starting with the non-portable SDK.
Metadata
Metadata
Assignees
Type
Projects
Status