15

stiamo lavorando su un VSPackage in un team, utilizzando Visual Studio 2012 e TFS.Impossibile eseguire VSPackage durante lo sviluppo su più macchine

L'estensione funziona correttamente sul computer utilizzato per crearlo (tramite una procedura guidata). Su un altro computer, Visual Studio dice che "un progetto con tipo di output di libreria di classi non può essere avviato direttamente" quando tentiamo di eseguirlo (con F5).

L'output del progetto è in effetti una libreria di classi e premendo F5 sulla prima macchina si avvia Experimental Instance di Visual Studio con l'estensione caricata e funzionante.

Guardando "% LOCALAPPDATA% \ Microsoft \ VisualStudio \ 11.0Exp \ Extensions" sul secondo computer, vediamo che l'estensione è stata creata e si è verificato un tentativo di registrazione con VS. Abbiamo anche creato un'altra estensione sul secondo computer e ho provato ad eseguirla sulla prima macchina. Visualizza lo stesso errore.

Come è possibile eseguire l'estensione sui computer che non sono stati utilizzati per crearlo?

+0

Ho questo problema sulla stessa macchina: Il codice sorgente principale è sul percorso 'C: \ Dev-1 \' Ho controllato lo stesso codice sorgente nel percorso 'C: \ Dev-2 \' ora il nuovo la copia mi dà lo stesso errore che ottieni. –

+2

Prova ad avviare Visual Studio con 'rootSuffix exp2' o qualcos'altro - in questo modo, la nuova copia andrà a una nuovissima istanza sperimentale di VS, e non entrerà in conflitto con l'estensione da' C: \ Dev-1' –

+0

@ La risposta di Matze ha risolto il problema. Grazie. –

risposta

31

Il tipo di progetto del pacchetto di Visual Studio aggiunge una scheda aggiuntiva alla vista delle proprietà del progetto denominata VISX. In quella scheda l'opzione Deploy VSIX content to experimental instance for debugging è selezionata per impostazione predefinita; questo è il motivo per cui i file del pacchetto vengono copiati nella directory delle estensioni del profilo dell'utente corrente dopo la generazione.

Se si desidera avviare Visual Studio utilizzando l'hive sperimentale, è necessario personalizzare le impostazioni Debug del progetto di libreria di classi. Impostare il Start Action-Start external program e selezionare il file devenv.exe (la posizione file's dipende dalla vostra cartella di installazione) e specificare i seguenti argomenti della riga di comando:

/rootSuffix Exp 

Questo permette di eseguire il debug l'estensione premendo F5.

+4

Grazie! Per discutere ulteriormente il problema, questa particolare informazione è memorizzata nel file Projectname.csproj.user, che non sembra essere condiviso su TFS - non è né nelle modifiche incluse né nelle modifiche escluse. Questo sarà un fixt manuale che deve essere fatto su ogni macchina. –

+1

Hai ragione; di default i file .user vengono ignorati dalla lista delle modifiche in sospeso (per buoni motivi). – Matze

+0

Sì, lo stesso problema una volta inserito il codice locale nel controllo del codice sorgente. Il file .user non è stato archiviato e mi ha messo nei guai. –

Problemi correlati