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

Create NuGet package group for VS installer - fixing some VSIX setup problems #8033

Closed
zivkan opened this issue Apr 22, 2019 · 0 comments
Closed
Assignees
Labels
Partner:VSPlatform Tenet:Acquisition Install of VS/other NuGet products Type:Bug
Milestone

Comments

@zivkan
Copy link
Member

zivkan commented Apr 22, 2019

NuGet has two installable packages in Visual Studio. Microsoft.VisualStudio.NuGet.BuildTools and Microsoft.VisualStudio.NuGet.Core. The NuGet.BuildTools pacakge is intended to be installed with the Visual Studio Build Tools SKU (no UI, used on CI build machines), while the NuGet.Core package is intended to be installed with the Visual Studio IDE. The NuGet.Core VS package contains all the same dlls that the NuGet.BuildTools VS package contains, plus everything else needed for VS integration.

A recent change to the VS installer now prevents multiple packages writing the same file, so will fail if both NuGet VS packages are selected to install. Note: A VS installer component is something that appears in the installer as something with a checkbox that can be selected or unselected. A component has a list of dependencies of packages or package groups. A VS package is what contains dlls to be installed. A package group is also a list of dependencies, like a component, but is not selectable. Dependencies can have when conditions, for example depend on one package for some skus, depend on a different package for different skus.

To fix this, we will create a Microsoft.VisualStudio.PackageGroup.NuGet package group that will select the correct package to install depending on which VS SKU is installed. Also modify the existing VS components (things selectable in the installer) to use the package group, rather than the packages directly. This allows customers to install either or both NuGet components without issue.

Note to Visual Studio extension authors

If you have a dependency on the Microsoft.VisualStudio.NuGet.BuildTools or Microsoft.VisualStudio.NuGet.Core package, you need to change your dependency to Microsoft.VisualStudio.PackageGroup.NuGet. However, if your dependency is on the component, it can stay as it is.

@zivkan zivkan added this to the 5.1 milestone Apr 22, 2019
@zivkan zivkan self-assigned this Apr 22, 2019
@rrelyea rrelyea modified the milestones: 5.1, 5.2 May 6, 2019
@zivkan zivkan closed this as completed May 8, 2019
@rrelyea rrelyea changed the title Create NuGet package group for VS installer Create NuGet package group for VS installer - fixing some VSIX setup problems Jul 11, 2019
@rrelyea rrelyea added Type:Bug and removed Type:DCR Design Change Request labels Jul 11, 2019
@donnie-msft donnie-msft added the Tenet:Acquisition Install of VS/other NuGet products label Jan 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Partner:VSPlatform Tenet:Acquisition Install of VS/other NuGet products Type:Bug
Projects
None yet
Development

No branches or pull requests

3 participants