Skip to content

Support workloads installed via Visual Studio from CLI dotnet workload commands #21811

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

Closed
Tracked by #30008
dsplaisted opened this issue Oct 6, 2021 · 7 comments
Closed
Tracked by #30008
Assignees
Labels
Area-Workloads Cost:S Less than 4 person weeks of work per central guidance Priority:1 Work that is critical for the release, but we could probably ship without Urgency-Soon User Story A single user-facing feature. Can be grouped under an epic.
Milestone

Comments

@dsplaisted
Copy link
Member

We'd like (at a minimum) the following commands to have visibility into the workloads that were installed by Visual Studio and handle them appropriately.

  • dotnet workload update
  • dotnet workload list

Right now the CLI can't see which workloads were installed via VS. We could:

  • Read VS catalog (expensive and not recommended)
  • Look at installed packs and infer installed workloads based on that
  • Have VS write workload installation records that the CLI can read (probably via a custom MSI that is only installed by VS)
@dsplaisted dsplaisted added this to the 6.0.2xx milestone Oct 6, 2021
@ghost ghost added Area-Workloads untriaged Request triage from a team member labels Oct 6, 2021
@marcpopMSFT marcpopMSFT modified the milestones: 6.0.2xx, 7.0.1xx Jan 5, 2022
@dsplaisted
Copy link
Member Author

#24005 fixed this for dotnet workload list

For dotnet workload update, we want to get the list of workloads installed by VS before running the update, and then install the new versions of those workloads after updating the manifests. This will fix the issue where workload update can update manifests and break workloads that were installed by Visual Studio.

@marcpopMSFT marcpopMSFT modified the milestones: 7.0.1xx, 7.0.2xx Oct 19, 2022
@dsplaisted
Copy link
Member Author

Update: We want to try to do this in the next feature release, to fix the following:

  • Install VS with workload
  • Updated workload is released
  • Run dotnet workload update from command-line
  • Workload is no longer installed (and templates don't show up, for example)

This is because dotnet workload update will update the workload manifests, but it doesn't see the workloads installed by Visual Studio, so it doesn't install the corresponding packs.

We've already addressed this for dotnet workload list so applying the same logic to dotnet workload update should not be too hard.

@baronfel
Copy link
Member

baronfel commented Feb 8, 2023

We should also update dotnet workload uninstall to have an error message specifically for when a user uninstalls a VS-managed workload with no CLI install manifest. In this case, we should tell the user that they need to uninstall the workload via the VS Installer, and that the CLI command they run had no effect.

@marcpopMSFT marcpopMSFT added the User Story A single user-facing feature. Can be grouped under an epic. label Mar 17, 2023
@marcpopMSFT marcpopMSFT modified the milestones: 7.0.3xx, 8.0.1xx Mar 17, 2023
@marcpopMSFT marcpopMSFT added Cost:S Less than 4 person weeks of work per central guidance Priority:1 Work that is critical for the release, but we could probably ship without labels Mar 17, 2023
@marcpopMSFT marcpopMSFT modified the milestones: 8.0.1xx, 8.0.2xx Sep 15, 2023
@marcpopMSFT
Copy link
Member

Besides the update command, we'll want to keep an eye out for any other command that results in updated manifests (I'm thinking of install and restore) as anything that updates manifests should update all installed workloads rather than letting them fail.

@nagilson
Copy link
Member

Should we close this now that everything here is done, or are there more interactions we'd like to support?

We havent added the uninstall message @baronfel mentioned eariler yet I think.

@baronfel
Copy link
Member

@nagilson let me extract that to a separate issue real quick then we can close this one.

@nagilson
Copy link
Member

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Workloads Cost:S Less than 4 person weeks of work per central guidance Priority:1 Work that is critical for the release, but we could probably ship without Urgency-Soon User Story A single user-facing feature. Can be grouped under an epic.
Projects
None yet
Development

No branches or pull requests

4 participants