locked
VSIX in VS11: How to package up VS2010 and VS2011 Addins/Packages DLLs within the same VSIX file? RRS feed

  • Question

  • I have a VS2010 VS Package containing a dll that has references to the TFS2010 and VS2010 API's. I package that DLL up as a VSIX file and have it on Visual Studio Gallery.

    I now need to distribute a version of my application for Visual Studio 2011 Beta containing references to TFS2011 and VS2011 API's. I would prefer to have both versions within the same VSIX file.

    1. Is it possible to describe both VS2010 and VS2011 versions, each having their own unique DLL's, within the same VSIX file? Conceptually, what I want to do within the VSIX file is something like this:

    Version10\

        MyFile.DLL

    Version11\

        MyFile.DLL

    I might have missed something straight forward here, but I can't find any documentation on how to achieve this. Or do I need to go the whole MSI route? Or even build an Interop layer between the different VS/TFS versions?

    I downloaded half a dozen packages from Visual Studio Gallery that support both VS2010 and VS2011 to investigate but none of them I could find reference different API versions between VS2010 and VS2011 so they don't have this problem to solve.

    Any help appreciated!

    Grey Ham


    Blog: http://www.havecomputerwillcode.com/blog

    Tuesday, March 6, 2012 2:26 PM

Answers

  • Hi Grey,

    First of all, I don't think we can package two different version into one VSIX for different VS.

    Generally speaking, VS11 has compatibilty with the APIs from VS2010. Therefore, if we build the extension with VS2010 SDK and modify the VSIXmanifest as following:  

       <SupportedProducts>
          <VisualStudio Version="10.0">
            <Edition>Pro</Edition>
          </VisualStudio>
          <VisualStudio Version="11.0">
            <Edition>Pro</Edition>
          </VisualStudio>
        </SupportedProducts>

    This package will be support to install under both VS2010 and VS11 with VS2010 APIs. 

    However, if you want to use new VS11 SDK, it will only allow to be deploy on VS11.  Since VS11 is still under beta version, I suggest you make your extension be compatiable with VS2010.

    If you really want to do it as different assemblies, to create two VSIX is what I suggest.

    Hope the information helps.

    Yi  


    Yi Feng Li [MSFT]
    MSDN Community Support | Feedback to us

    • Marked as answer by Grey Ham Wednesday, March 7, 2012 9:15 AM
    Wednesday, March 7, 2012 5:49 AM