Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support .NET 5.0 scenarios that require crossgen2 without using prebuilts from nuget.org #1568

Closed
dagood opened this issue Apr 22, 2020 · 4 comments
Labels
area-product-experience Improvements in the end-user's product experience area-upstream-fix Needs a change in a contributing repo

Comments

@dagood
Copy link
Member

dagood commented Apr 22, 2020

Background

In 5.0, dotnet/runtime produces crossgen2 packs, Microsoft.NETCore.App.Crossgen2.<rid>. Similar to runtime packs (Microsoft.NETCore.App.Runtime.<rid>), these are designed to only be acquired via NuGet. The idea is that the crossgen in the runtime pack will be phased out in favor of the crossgen2 pack. (But I'm not familiar with the timeline--is phase-out post-5.0?).

dotnet/runtime#1867:

The acquisition for crossgen2 will be along the lines of the runtime packs: nuget only.

dotnet/runtime#906:

When the old crossgen is eventually phased out, it will be removed from the runtime pack. crossgen2 won't take crossgen's place in the runtime pack. It isn't considered good that crossgen was in the runtime pack to begin with, so this is an opportunity to fix that.

This new pack should have the same set of installers/packages as runtime packs.

(I would prefer quoting someone other than me on this, but can't find a design.)

Note that pure-source-build crossgen scenarios are already missing in 3.1, because this all applies to both runtime packs and crossgen2 packs. The runtime pack problem is tracked at #1215.

Scenarios

The question is: do the new scenarios afforded by crossgen2 raise the priority of getting packs to be compatible with source-build?

There are some new container scenarios, potentially of particular interest: dotnet/dotnet-docker#1791. (Please do edit in a better link if you have one.)

/cc @dleeapho @MichaelSimons @dseefeld @richlander @davidwrighton

@dagood dagood added area-upstream-fix Needs a change in a contributing repo area-product-experience Improvements in the end-user's product experience labels Apr 22, 2020
@davidwrighton
Copy link
Member

I'm currently building out the ability to produced a zipped copy of crossgen2 for use by the docker build scenarios, but I'm not sure if this covers the source build scenarios.

In general though, crossgen2 is not expected to be the mainline compilation experience for .NET 5, but we hope to replace crossgen for .NET 6.

@dagood
Copy link
Member Author

dagood commented Apr 27, 2020

I'm currently building out the ability to produced a zipped copy of crossgen2 for use by the docker build scenarios, but I'm not sure if this covers the source build scenarios.

How will Docker will be using the zips?

The issue is on the consumption side, not the production side. If the .NET Core SDK has no way for us to place crossgen2 somewhere on disk and use that copy (rather than downloading from NuGet) that means it isn't available in the source-built product. We can build the runtime + crossgen2 packs as nuget packages fine in source-build, just nowhere to put them.

@dagood
Copy link
Member Author

dagood commented Apr 27, 2020

In general though, crossgen2 is not expected to be the mainline compilation experience for .NET 5

Will we support any scenario in the 5.0 .NET SDK that uses crossgen2?

@davidwrighton
Copy link
Member

  1. The docker scenario is about building the docker images, not use from the SDK.
  2. Yes. There is a property that you can set which will trigger the nuget dependency. @fadimounir has the details.

@dotnet dotnet locked and limited conversation to collaborators Nov 16, 2023
@MichaelSimons MichaelSimons converted this issue into discussion #3741 Nov 16, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
area-product-experience Improvements in the end-user's product experience area-upstream-fix Needs a change in a contributing repo
Projects
Archived in project
Development

No branches or pull requests

4 participants