Search code examples
visual-studio-2022visual-studio-extensions

Visual Studio Extension not running in VS2022 Experimental Instance


This was working fine until I tried cleaning my experimental instance (all extensions in development were building and running in the experimental instance). I followed the really badly written guide here to do so:

https://learn.microsoft.com/en-us/visualstudio/extensibility/creating-an-extension-with-a-menu-command?view=vs-2022#clean-up-the-experimental-environment

and ended up just deleting the temp Experimental folder 17.9.5Exp (my vs version). I'm sure that was a mistake. However if I run the cmd form the link above, it creates another instance of the folder with some boilerplate code inside.

However, if I try and build a new extension to the test environment, I get:

>C:\Users\[userdir]\.nuget\packages\microsoft.vssdk.buildtools\17.9.3168\tools\VSSDK\Microsoft.VsSDK.targets(968,5): error VSSDK1031: Extension 'VisGit.02a4d901-231e-4869-931f-3579c929c996' could not be found. Please make sure the extension has been installed.

Furthermore, nothing is building to the C:\Users\[user]\AppData\Local\Microsoft\VisualStudio\17.9.5Exp folder.

I've tried the usual - deleting obj, bin and vs folders - doesn't help. Also restored original folder from recycle bin - no joy. As it stands - extension development is now over!! May need a reset of the extension dev environment, but not sure how to do that. Would rather avoid full reset of the full VS environment.

Also tried the SO link here. Interstingly that reset what seemed to be an older version than my presenet (17.95):

C:\Users\[user folder]\AppData\Local\Microsoft\VisualStudio\16.0_1467c36dExp\Extensions\Extensions-16.0_1467c36d.

Totally stuck - any ideas? Really frustrating!


Solution

  • However if I run the cmd form the link above, it creates another instance of the folder with some boilerplate code inside.

    From looking at the CreateExpInstance utility,i think it is a normal behavior.

    Parameters
    /Reset 
    Deletes the experimental instance, and then creates a new one.
    

    What does reset do? enter image description here enter image description here

    Once the reset is performed, the next experimental instance you launch will find itself in a clean environment. Since you are unable to load Experimental Instance, please check the following to see if the issue persists.

    1.Right click your project and select Properties, navigate to Debug settings and set the Start Action to Start external program and select the devenv.exe file and specify the following commandline arguments:

    /rootSuffix Exp
    

    2.Try to use /Create to create a experimental instance.

    3.Please create a new extension project and press F5 to see if an experimental instance is loaded.

    4.If the issue persists, please try to unisntall and reinstall VSSDK from VS Installer.

    Hope it can help you.