none
VSIX packages on native C++ RRS feed

  • Question

  • Hello dear Microsoft engineers!

    We have an VS extension package written on C++. Recently, we have been notified that Visual Studio 2019 is going to stop supporting packages that use synchronous loading and encourages users to use AsyncPackage method in their extensions.

    Could you tell me if you have an analogue of that class for native C++ code? Our package uses the SetSite function to load.

    I am looking forward to hearing from you, 

    Elizaveta Shulankina




    Friday, March 29, 2019 1:18 PM

Answers

  • Hi Elizaveta,

    There was a discussion on this very same topic on the https://gitter.im/Microsoft/extendvs back in April, and included suggested modifications to the package class to support IAsyncLoadablePackageInitialize and IAsyncServiceProvider.  (look for the April 17 post by "sean echevarria".

    For the record, I believe you really only need to support this if you intend to target VS 2019 or later. Thought it probably wouldn't hurt to support async load with VS 2015 and VS 2017. :-)

    Sincerely,



    Ed Dore

    Thursday, May 16, 2019 6:06 PM
    Moderator

All replies

  • Hi friend,

    Welcome to MSDN forum.

    Maybe you can get some help from this link. For now, users are notified when an extension is being synchronously autoloaded. The extension will load and work as normal. 

    And I've checked VS2017 extensibility doc, but I can't find a C++ vsx sample. I know that we can create new visual studio package under C++ category, but it seems for .vsix project. We don't need a setsite method to load it.

    Does the setSite method you mentioned is this one? And according to this similar issue, does your project is an add-in from previous vs versions?(If I misunderstand anything, please correct me)

    Looking forward to your reply.

    Best Regards

    Lance


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Monday, April 1, 2019 11:10 AM
  • Hi,

    Thanks for the answer!

    Yes, we use the SetSite method you mentioned. Our package is for multiple versions of Visual Studio, now we need to support version starting with 2015. We have been used the SetSite method since Visual Studio 2008.

    I brought some updates after the experience with this problem:

    We had a useful conversation with guys from Microsoft and they adviced us to implement IAsyncLoadablePackageInitialize (https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.shell.interop.iasyncloadablepackageinitialize?view=visualstudiosdk-2015) interface to support async auto load.

    Сould you give me some advice, is it necessary to implement only this interface and get rid of the SetSite method, or do I need to do something else?

    Anyway, I installed VSSDK for Visual Studio 2015 to have IAsyncLoadablePackageInitialize support, compiled our package. At the moment I am trying to move the initialization code to this method.

    I am looking forward to hearing from you, 

    Elizaveta Shulankina

    Thursday, May 16, 2019 3:35 PM
  • Hi Elizaveta,

    There was a discussion on this very same topic on the https://gitter.im/Microsoft/extendvs back in April, and included suggested modifications to the package class to support IAsyncLoadablePackageInitialize and IAsyncServiceProvider.  (look for the April 17 post by "sean echevarria".

    For the record, I believe you really only need to support this if you intend to target VS 2019 or later. Thought it probably wouldn't hurt to support async load with VS 2015 and VS 2017. :-)

    Sincerely,



    Ed Dore

    Thursday, May 16, 2019 6:06 PM
    Moderator
  • Hi, 

    Thanks a lot, this is a huge help for me! This is exactly what I was looking for.

    Thanks,

    Elizaveta Shulankina

    Friday, May 17, 2019 11:40 AM