Mi è stato assegnato il compito di sviluppare alcune estensioni per Visual Studio per il nostro uso interno. Questi dovranno supportare un paio di versioni differenti di Visual Studio (VS2008, 2010 e 2012 - VS2005 sarebbe bello da avere ma non essenziale). Mi piacerebbe svilupparli nel modo più coerente possibile, riutilizzando il maggior numero possibile di codice, inserendolo nella struttura di progetto esistente per questi tipi di strumenti, che è un .sln di Visual Studio 2012.Sviluppo di componenti aggiuntivi di Visual Studio per più versioni di Visual Studio
Qual è il modo migliore/più semplice per sviluppare questo tipo di estensione? Un progetto VSPackage? Posso creare un VSPackage compatibile con il 2008 sviluppato in VS2012?
Le funzionalità di cui ho bisogno per le estensioni che sto scrivendo al momento sono piuttosto semplici: ho bisogno di creare comandi del menu Strumenti, possibilmente una finestra degli strumenti personalizzata. Le mie esigenze potrebbero cambiare in seguito, ma al momento non ho bisogno di decorazioni per gli editor o qualcosa del genere.
vidi this domanda che potrebbe sembrare di essere un duplicato, ma la risposta che è stata accettata non rispondere alla domanda, in modo da ...
Le mie richieste al momento sono piuttosto semplici: comandi del menu degli strumenti, forse una finestra degli strumenti (aggiornata la domanda con quelle informazioni). Potrei avere requisiti più avanzati in seguito come adornamenti, ma a quel punto dovremmo essere su VS2012. La cosa PLK può uccidere le possibilità di riutilizzo del codice che – JohnL
PLK è necessario solo per VS2008 per caricare il pacchetto, tuttavia il codice dovrebbe essere comunque riutilizzabile. AFAIK aggiungendo i comandi del menu dello strumento e le finestre degli strumenti funziona allo stesso modo su tutte e tre le versioni di VS. Una cosa che puoi fare è avere diversi progetti per ogni VS che stai bersagliando (VS2010 e VS2012 sarebbero .vsix mentre VS2008 avrebbe una distribuzione MSI) e condividere i file come collegamenti tra loro, questo dovrebbe facilitare la distribuzione/debugging per il 2010-12 (grazie a .vsix) e ogni progetto può avere come target diverse versioni .net (2008-3.5, 2010-4.0, 2012-4.5). –
Sì, conoscevo le diverse tecnologie di implementazione e sono molto esperto in MSI. Riguardo a quel tipo di impostazione del progetto, l'ho visto fatto con altri progetti, anche se il nostro ragazzo non sarà felice :). Anche noi facciamo la condivisione di file-come-link cosa altro e questo confonde il diavolo con VS/TFS. Preferirei avere un progetto per ogni versione VS (tutto nello stesso sln) che contiene riferimenti a un progetto comune che ha il codice di add-on effettivo. Ma ciò che funziona, funziona indovinare – JohnL