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

[Breaking change]: Projects using certain workloads don't load, build, and or run if .NET 7 Preview SDK workloads are installed: #32814

Closed
2 tasks done
nagilson opened this issue Nov 30, 2022 · 2 comments · Fixed by #32892
Assignees
Labels
binary incompatible Existing binaries may encounter a breaking change in behavior. breaking-change Indicates a .NET Core breaking change 🏁 Release: .NET 7 Work items for the .NET 7 release doc-idea Indicates issues that are suggestions for new topics [org][type][category] Pri1 High priority, do before Pri2 and Pri3 📌 seQUESTered Identifies that an issue has been imported into Quest. source incompatible Source code may encounter a breaking change in behavior when targeting the new version.

Comments

@nagilson
Copy link
Member

nagilson commented Nov 30, 2022

Description

This is documented already as a known issue. https://github.com/dotnet/core/blob/main/release-notes/7.0/known-issues.md#70-projects-using-certain-workloads-dont-load-build-and-or-run-if-net-7-preview-sdk-workloads-are-installed

If a preview .NET 7 SDK is installed alongside the RTM NET 7, projects with workload dependencies such as microsoft.net.workload.mono.toolchain may fail to build, load, and or run, with errors such as:

"The SDK resolver "Microsoft.DotNet.MSBuildSdkResolver" failed while attempting to resolve the SDK "Microsoft.NET.Sdk". Exception: "Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadManifestCompositionException: Workload definition 'wasm-tools' in manifest 'microsoft.net.workload.mono.toolchain'

Version

.NET 7

Previous behavior

The builds, loading, and running of these projects would work fine.

New behavior

The builds, loading, or running of these projects will fail until the user takes one of the recommended actions.

Type of breaking change

  • Binary incompatible: Existing binaries may encounter a breaking change in behavior, such as failure to load/execute or different run-time behavior.
  • Source incompatible: Source code may encounter a breaking change in behavior when targeting the new runtime/component/SDK, such as compile errors or different run-time behavior.

Reason for change

NET 7 Preview 4+ SDKs are incompatible with RTM 7 because the mono.toolchain workload was renamed.

Recommended action

Uninstall any .NET 7 preview SDKs. For detailed instructions, see dotnet uninstall instructions. For example, on Windows, dotnet preview SDKs can be uninstalled with add/remove programs.

And OR

Deleting the folder C:\Program Files\dotnet\sdk-manifests\7.0.100\microsoft.net.workload.mono.toolchain, but this will only work for file-based installs. Dotnet-core-uninstall is another option for uninstalling the .NET 7 preview SDKs.

Feature area

SDK

Affected APIs

No response


Associated WorkItem - 45469

@nagilson nagilson added doc-idea Indicates issues that are suggestions for new topics [org][type][category] breaking-change Indicates a .NET Core breaking change Pri1 High priority, do before Pri2 and Pri3 labels Nov 30, 2022
@dotnet-bot dotnet-bot added ⌚ Not Triaged Not triaged binary incompatible Existing binaries may encounter a breaking change in behavior. source incompatible Source code may encounter a breaking change in behavior when targeting the new version. labels Nov 30, 2022
@gewarren gewarren removed the ⌚ Not Triaged Not triaged label Dec 1, 2022
@nagilson
Copy link
Member Author

nagilson commented Dec 1, 2022

CC @dsplaisted

@gewarren gewarren added the 🗺️ reQUEST Triggers an issue to be imported into Quest. label Dec 1, 2022
@github-actions github-actions bot added 📌 seQUESTered Identifies that an issue has been imported into Quest. and removed 🗺️ reQUEST Triggers an issue to be imported into Quest. labels Dec 1, 2022
@dsplaisted
Copy link
Member

Note that this should be fixed in the 7.0.101 release: dotnet/sdk#29035

@gewarren gewarren added the 🏁 Release: .NET 7 Work items for the .NET 7 release label Dec 6, 2022
@ghost ghost added the in-pr This issue will be closed (fixed) by an active pull request. label Dec 6, 2022
@ghost ghost removed the in-pr This issue will be closed (fixed) by an active pull request. label Dec 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binary incompatible Existing binaries may encounter a breaking change in behavior. breaking-change Indicates a .NET Core breaking change 🏁 Release: .NET 7 Work items for the .NET 7 release doc-idea Indicates issues that are suggestions for new topics [org][type][category] Pri1 High priority, do before Pri2 and Pri3 📌 seQUESTered Identifies that an issue has been imported into Quest. source incompatible Source code may encounter a breaking change in behavior when targeting the new version.
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants