2015-09-30 9 views
21

Ho lavorato su un'estensione VS che crea un paio di file con qualche boilercode usando SideWaffle e stavo avendo un problema dove, ogni volta che aggiungevo un nuovo oggetto, il mio oggetto boilercode sarebbe sotto "I miei modelli personalizzati". Ho trovato questo nel file template-builder.props e l'ho aggiornato su "Test", ma quando ho provato di nuovo avevo sia "My Custom Templates" che "Test", entrambi contenenti la stessa estensione.L'estensione non è stata trovata. Assicurati che l'estensione sia stata installata

Ho pensato che VS avrebbe potuto memorizzare nella cache il vecchio nome o qualcosa del genere, così ho disinstallato l'estensione da VS e riavviato. Ora il progetto non costruire a tutti e dà l'errore:

Extension 'ProjName..00000000-0000-0000-0000-000000000000' could not be found. 
Please make sure the extension has been installed. 

Ho provato a reinstallare l'estensione utilizzando il .vsix nella cartella Debug e riavviare VS, ma ottengo lo stesso errore). Non ho trovato nulla online su questo e, ad essere onesti, sono confuso sul motivo per cui il progetto ha bisogno di essere installato per la sua realizzazione.

Cosa posso fare per riavviare questo progetto?

risposta

36

Dopo un po 'di giocando intorno sono stato in grado di capire una soluzione al mio problema:

posso vedere che l'estensione viene aggiunta all'istanza sperimentale di Visual Studio quando si genera con successo il progetto (I' non ho trovato nessun altro modo di installare l'estensione (VS2013)). Se si tenta di creare il progetto senza l'estensione installata nell'istanza sperimentale, la compilazione fallisce.

Ovviamente, ciò significa che non è possibile creare il progetto, poiché è necessario crearlo per installare l'estensione e l'estensione deve essere installata affinché il progetto possa essere compilato. Solo nella prima build del progetto non è vero. È possibile creare senza l'estensione installata, che quindi installerà l'estensione sull'istanza sperimentale e consentirà le future build del progetto.

Se, come me, si disinstalla l'estensione sull'istanza sperimentale, si entra in una situazione di catch-22 in cui la compilazione fallisce, perché l'estensione non è installata, e non è possibile installare il estensione, perché la compilazione fallisce.

La soluzione a questo era abbastanza semplice. Dovevo solo eseguire il progetto, a quel punto la compilazione falliva, quindi scegliere di eseguire il progetto dall'ultima build di successo. Ciò aprirà l'istanza sperimentale senza l'estensione installata, tuttavia, se si chiude l'istanza sperimentale, è possibile quindi creare il progetto con successo, che installerà di nuovo l'estensione.

Non so esattamente perché questo risolve il problema, ma mi piacerebbe sapere se qualcuno ha qualche idea.

+3

Hmm. Ho avuto esattamente la stessa situazione, tranne che dopo aver chiuso l'istanza sperimentale (che ha reinstallato l'estensione) non riuscivo ancora a creare. Sembra che devo lasciare 'Distribuisci il contenuto VSIX all'istanza sperimentale per il debug' (l'estensione è ancora copiata e debugabile comunque grazie alle altre opzioni). – Cameron

+0

@oliver Nicholls Perché hai eseguito il rollback della modifica .. è stato meglio !! – Moumit

+0

La modifica inserisce parte della mia risposta in una citazione di blocco e non è una citazione. –

7

Questo grande post mostra tutte le possibili soluzioni: http://comealive.io/Vsix-extension-could-not-be-found/

Questo ha funzionato per me: Aumentando la versione del pacchetto nel file .vsixmanifest

+0

Dam quella pagina è andata ora, solo 9 mesi dopo! –

+0

Questa dovrebbe essere la soluzione! – LukTar

0

Questo ha funzionato per me:

Disabilita l'estensione 'Roaming Extension Manager' nell'Istanza Sperimentale, che avevo installato in precedenza.

Avevo recentemente creato molte versioni in corso di un'estensione localmente, alcune delle quali avevo eliminato dal mio file system locale (dato che avevo copie in git land), ed è possibile che io abbia confuso il roaming Extension Manager e/o Visual Studio facendo ciò.

Per buona misura, ho aperto l'istanza sperimentale e disinstallato tutte le mie estensioni personali che avevo creato localmente e non più necessarie.

0

Per il problema riscontrato durante lo sviluppo dell'applicazione VSIX. Per errore ho provato a eseguire il debug di questo quando il progetto era nella modalità Release. In quel momento, è stato mostrato l'errore sopra.

Soluzione: Cambia la modalità da rilascio al Debug uno.

0

Questo errore può essere causato dall'utilizzo di un comando Ricostruisci o Pulisci per questo tipo di progetto.

Per ripristinare, utilizzare il metodo che meglio si adatta alle altre risposte qui — che può essere semplice come avviare una corsa del progetto. La sessione di debug risultante può essere interrotta immediatamente, prima che la lunga inizializzazione dell'istanza sperimentale venga completata, poiché lo stato di Visual Studio richiesto è stato ripristinato e il progetto è stato ora compilato correttamente.

Successivamente, provare a evitare di utilizzare Ricostruisci o Pulisci in base a questo tipo di progetto, per evitare inutili ricadute del problema.

Problemi correlati