vsixmanifest per tutti: VS 2010, 2012 e 2013

Sto usando VSIX Manifest Designer sotto VS2013. Ho aggiunto l’identificatore di prodotto Microsoft.VisualStudio.Pro e l’ intervallo di versione [10.0,13.0) per installare gli obiettivi. Nonostante ciò, continuo a non vedere il mio VS2010 Professional come un objective di installazione disponibile:

inserisci la descrizione dell'immagine qui

Il contenuto del file source.extension.vsixmanifest è mostrato di seguito:

    MyExtension whosoever http://www.myextension.com LICENSE.txt icon.png screenshot.png             

Cosa dovrebbe essere modificato per abilitare l’installazione di questa estensione su VS2010, 2012 e 2013?

Quello che hai è la versione 2 manifest di VSIX, che non è compatibile con Visual Studio 2010. Le versioni successive di Visual Studio rispettano la versione 1 del manifest, quindi per supportare tutte e 3 le versioni di Visual Studio con un singolo manifest, dovrai convertirlo manualmente in v1.0 (e assicurarsi di NON modificarlo con VS2012 +, altrimenti verrà riconvertito in v2.0).

Qualcosa come questo:

    MyExtension whosoever 1.0 Your decription. 1033   Pro   Pro   Pro      |%CurrentProject%;PkgdefProjectOutputGroup| |%CurrentProject%|   

Non è necessario specificare tutte le edizioni del prodotto (chiamate SKU), Pro è sufficiente, se, ad esempio, Ultimate è installato, verrà invece visualizzato.

Funziona abbastanza bene ( Grazie mille a Igal ), se VSIX è sviluppato in VS 2012 e installato in VS 2015. Tuttavia, il contrario non funziona (significa sviluppato in VS 2015 e prova ad installare in VS 2012) Dopo analizzato Activitylog .xml, ho trovato un lavoro in giro

Imansible caricare il file o l’assembly “Microsoft.VisualStudio.Shell.14.0, Version = 14.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a” o una delle sue dipendenze.

Soluzione alternativa Ho rimosso VisualStudio.Shell.14.0 e installato VisualStudio.Shell.11.0 utilizzando la console del gestore pacchetti ( Install-Package VSSDK.Shell.11 ) e installato in VS 2012. Ora funziona come previsto