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

Custom VS extension development #6441

Open
13thirteen opened this issue Jul 27, 2020 · 4 comments
Open

Custom VS extension development #6441

13thirteen opened this issue Jul 27, 2020 · 4 comments
Labels
Discussion/Question A discussion or question about the project that will not be treated as a bug or feature request. Triage-No-Action Not a bug, by design or an answered question.

Comments

@13thirteen
Copy link

Visual Studio Version:
VS Community 2019 16.6.5

Summary:
In my custom VS extension SwitchStartupProject (on the Marketplace) I use ILaunchSettingsProvider to programmatically change debug settings of multiple startup projects.
So far I referenced nuget package Microsoft.VisualStudio.ProjectSystem.Managed 2.0.6142705 on nuget.org.

Recently, I found a slightly newer version 2.3.6152103 on your team feed which includes IActiveDebugFrameworkServices that allows my extension to also set the target framework of multi-targeting projects.

Now, I saw there is IPersistOption which might allow my extension to change debug settings without affecting the launchSettings.json files. (I didn't study it in detail yet.) Unfortunately, I didn't find any non-beta and non-rc releases of Microsoft.VisualStudio.ProjectSystem.Managed that include IPersistOption.
The beta releases are not that useful because they have a dependency on package RoslynTools.SignTool which seems not to be public (for obvious reasons) and therefore installation fails.

Questions:

  1. Are there somewhere newer non-beta releases of the nuget packages for use by custom VS extensions?

  2. As I understand it, these nuget packages are deployed with VS. (e.g. at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\Microsoft\ManagedProjectSystem\Microsoft.VisualStudio.ProjectSystem.Managed.dll in my case.) Should my custom VS extension use that VS-bundled DLL somehow instead of the pretty old nuget package? How would I do that?

  3. Given the circumstances above, my current approach feels like a hack. Am I even supposed to use Microsoft.VisualStudio.ProjectSystem.Managed from a custom VS extension? Is there another/better way to programmatically set debug settings of CPS projects?

@jjmew jjmew added the Discussion/Question A discussion or question about the project that will not be treated as a bug or feature request. label Jul 27, 2020
@jjmew jjmew added the Triage-No-Action Not a bug, by design or an answered question. label Aug 10, 2020
@orty
Copy link

orty commented Jun 11, 2021

Hi,

My team and I are relying on this great extension from @13thirteen to handle our various launch scenarios (Project1 + Project2, Project1 + Project 3, Project1 + Project2 + Project3,..). It adds a really useful overlay upon the launch profiles feature of VS2019.

However, some caveats still persist, like the fact that the actual version of the nuget package Microsoft.VisualStudio.ProjectSystem.Managed 2.0.6142705 does not allow to change project properties without affecting the local filesystem launchsettings.jsons (we leave a lot of comments in these files, to be able to switch from env variables to other and such, and updating the settings through the SDK erases these comments).
I would like to +1 (a lot :)) to this request, and ask if the latest developed version of the package will ever make it to the public Nuget feed ?

Thank you.

@MagicAndre1981
Copy link

@13thirteen do you know the location of the feed? The myget link is broken. I also need the IActiveDebugFrameworkServices to read the current framework that is selected

@MagicAndre1981
Copy link

MagicAndre1981 commented Jul 12, 2021

ok, I found the pre-release feed in a nuget.config

@chris-codeflow
Copy link

@13thirteen do you know the location of the feed? The myget link is broken. I also need the IActiveDebugFrameworkServices to read the current framework that is selected

The pre-release versions of the packages are in the vs-impl feed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion/Question A discussion or question about the project that will not be treated as a bug or feature request. Triage-No-Action Not a bug, by design or an answered question.
Projects
None yet
Development

No branches or pull requests

6 participants