Skip to content
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

Improve host version selection semantics #71286

Open
richlander opened this issue Jun 25, 2022 · 5 comments
Open

Improve host version selection semantics #71286

richlander opened this issue Jun 25, 2022 · 5 comments
Milestone

Comments

@richlander
Copy link
Member

richlander commented Jun 25, 2022

Various versioning scenarios remain too hard with .NET. We should find a way to resolve the.

We designed some solutions recently: https://github.com/dotnet/designs/blob/main/accepted/2022/version-selection.md. We should decide which of these to implement next.

We were recently discussing some related problems:

  • dotnet test has complicated versioning semantics. We need to do some combination of documenting and resolving that.
  • It's hard to test an unmodified app on multiple runtime versions.
  • Virtual environment providers publish multiple (many!) .NET SDK versions for global.json compatibility. We need to help them deliver a simpler experience.
@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jun 25, 2022
@richlander
Copy link
Member Author

richlander commented Jun 25, 2022

Here's a related conversation:

Tried some dirty tricks and the following seems to work. Make your test project have the lowest TFM you want to work with - so for example net6.0. Then run it with dotnet test /p:RollForward=disable /p:RuntimeFrameworkVersion=6.0.2 - this will force the test to run on the specified version of NETCore.App. Note that if you want to run against a different version you have to rebuild the test (changing the command line will not force a rebuild) so typically dotnet clean and then again. This works across major versions, meaning this works as well: dotnet test /p:RollForward=disable /p:RuntimeFrameworkVersion=7.0.0-preview.5.22301.12.

It's pretty easy to conclude that this is not a great solution. Hence "dirty tricks".

Related to: dotnet/sdk#11613

@ghost
Copy link

ghost commented Jun 25, 2022

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

Various versioning scenarios remain too hard with .NET. We should find a way to resolve the.

We designed some solutions recently: https://github.com/dotnet/designs/blob/main/accepted/2022/version-selection.md. We should decide which of these to implement next.

We were recently discussing some related problems:

  • dotnet test has complicated versioning semantics. We need to do some combination of documenting and resolving that.
  • It's hard to test an unmodified app on multiple runtime versions.
  • Virtual environment providers publish multiple (many!) .NET SDK versions for global.json compatibility. We need to help them deliver a simpler experience.
Author: richlander
Assignees: -
Labels:

area-Host, untriaged

Milestone: -

@vitek-karas
Copy link
Member

Just want to make it clear that the "dirty tricks" as per #71286 (comment) actually rebuild the app - so even cleanup of that experience would not help with the requirement to test unmodified app on multiple runtimes.

@richlander
Copy link
Member Author

Ah. Poor wording on my part. I meant unmodified in the sense of source (primarily the project file). Not having to re-build would also be nice, but not what I meant.

@agocke agocke added this to AppModel Jul 1, 2022
@agocke agocke removed the untriaged New issue has not been triaged by the area owner label Jul 1, 2022
@agocke agocke added this to the 8.0.0 milestone Jul 1, 2022
@agocke agocke changed the title .NET 8: Improve host version selection semantics Improve host version selection semantics Jul 25, 2023
@agocke agocke modified the milestones: 8.0.0, Future Jul 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

3 participants