Monday, June 25, 2012 9:24 PM
I've created an editor adornment extension in VS 2012 RC and it works great in VS 2012. When I try to install the extension into VS 2010 SP1, the Visual Studio Extension Installer gives me the following error: "The extension manifest is invalid."
I've tried to modify the .vsixmanifest file and changed target version in the Install Targets tab to version 10.0 rather than 11.0. VS 2010 SP1 still would not install the extension. I've also tried to lower the dependency on .net 4.5 to .net 4.0 in the Dependencies tab but that still generated the same "The extension manifest is invalid." error.
Does anyone know how I can get the extension to install in VS 2010 or is it not possible?
Monday, June 25, 2012 9:32 PMModerator
I believe the manifest format changed between 2012 and 2010. I will have to check internally but the best way to target 2010 would be to use VS 2010, otherwise you also have to make sure you don't end up relying on 2012 dlls that wouldn't exist on 2010.
Monday, June 25, 2012 9:38 PMOwner
There is a new manifest format in VS 2012 which is used by the VS 2012 SDK templates. Unfortunately, that manifest is not compatible with VS 2010.
If you need to author an extension that is compatible with both VS 2010 and VS 2012, you must use Visual Studio 2010 and the Visual Studio 2010 SDK. (VS 2012 is able to read the VS2010 manifest format.)
Monday, June 25, 2012 10:01 PM
OK, that sounds good. Thanks for the response!
Thursday, January 31, 2013 11:23 PM<del>
This is ridiculous.
Why would you support forward compatibility instead of backward?
So I can author an extension in VS 2010, and target it to future versions of Visual Studio, even though I know nothing about the next version and if my extension will be obsolete, or if my code will be incompatible with the next version's API - and the next version will just willingly accept this VSIX that was obviously created with an older version.
But I can't use the newer Visual Studio version to create an extension for that version, as well as supporting an older version whose features and api are known.
What an absolutely terrible design decision.
I can change my vsixmanifest to be the older 1.0 style, and VS 2012 will happily understand and compile that into a VSIX, however it just won't install If that was obviously not a supported scenario, then why not present a suitable error message if I tried to target an older version of Visual Studio?</del> [EDIT] Serves me right for being rash - I was actually able to get a VS 2012 VSIX project to build a VSIX that works properly using the 1.0 extension manifest. My problem was that the ReleaseNotes node is not compatible with the 1.0 schema. Once I removed that, I was able to install the VSIX on VS2010 without issue.[/EDIT]
- Edited by Adam Toth Friday, February 01, 2013 1:15 AM I was wrong
Saturday, April 20, 2013 4:12 AMBut there has to be another problem as well. Other .vstemplate files developed for 2010 produce the same error. "The extension manifest is invalid."