2012-07-16 13 views
21

ho pubblicato la mia applicazione .NET tramite ClickOnce, e tutti i miei utenti il ​​seguente messaggio di errore sul tentativo di aprire il programma:Impossibile installare o eseguire l'applicazione: Fare clic una volta

"Impossibile installare o eseguire l'applicazione L'applicazione richiede che l'assembly Telerik.Windows.Data versione 2012.1.215.40 sia installato prima nella Global Assembly Cache (GAC) ".

La versione effettivamente utilizzata nella mia applicazione è PIÙ NUOVA di quella menzionata nel messaggio di errore. Inoltre, non ho questo problema sulla mia macchina che utilizzo per sviluppare l'applicazione. Mi chiedo perché sta cercando la versione precedente della dll. Non riesco a trovare il riferimento alla mia applicazione.

Potrebbe aiutarmi per favore su questo?

+1

Si include l'assieme con l'applicazione o deve essere installato da un'applicazione di installazione Telerik? Le applicazioni ClickOnce non possono installare DLL nel GAC. Invece, devono essere messi lì da un'altra applicazione di installazione. – RLH

+0

In Proprietà, la scheda Pubblica, sotto Elenco file di applicazioni, l'ho presente come Includi (Auto). In realtà, non ho nemmeno bisogno di quella DLL. L'ho escluso dal progetto, eppure ho lo stesso problema. Non sai perché ClickOnce (o il pacchetto di installazione che crea) vuole quella dll obsoleta? –

+1

No, non dovrebbe cercarlo a meno che non venga referenziato in alcuni punti del progetto. Scusate, sono un po 'perplesso al momento. – RLH

risposta

32

ho trovato la soluzione qui:

http://ablogontech.wordpress.com/2009/01/02/unable-to-install-or-run-the-application-the-application-requires-that-the-assembly-be-installed-in-the-global-assembly-cache-gac-first/

Estratto dal collegamento wordpress:

ho recevied questo errore durante la compilazione il mio primo C# produzione applicazione. Ho dovuto fare quanto segue in Visual Studio per il progetto :

  1. In Esplora soluzioni, espandere il nodo References e selezionare l'assembly elencato nell'errore. Verifica copia locale nella griglia Proprietà è impostato su "Vero".
  2. Nelle proprietà del progetto, Pubblica | Application Files Tab, garantire uno stato di Pubblica per il montaggio elencato nella errore viene impostato di 'includere'
+1

Grazie mille. Hai risolto il mio problema di produzione. –

0

ho avuto lo stesso errore quando ho dimenticato configurazione della soluzione cambiamento da "Debug" a "Release" nel Visual Studio.

1

Nel mio caso, il problema causato da questo messaggio di errore era di configurazioni di pubblicazione di librerie errate.

quando ho impostato la mia proprietà biblioteca CopyLocal = false, e poi in progetto di pubblicare i file delle applicazioni impostate Stato pubblicazione a Includere, tutto funziona benissimo dopo la ricostruzione del progetto e successiva pubblicazione.

Così dicono di ClickOnce compilatore, di non pubblicare questa libreria con l'applicazione di default, e cambiando Pubblicare Stato dal Prerequisiti a Includere dice ClickOnce, di non cercare questa libreria nel GAC .

0

È inoltre necessario verificare che non vi sia un reindirizzamento del binding dell'assembly errato nel file app.config. Cercare un nodo che sembra:

<dependentAssembly> 
    <assemblyIdentity name="Telerik.Windows.Data" publicKeyToken="--SomePublicToken--" culture="neutral"/> 
    <bindingRedirect oldVersion="0.0.0.0-3.0.2.0" newVersion="3.0.2.0"/> 
    </dependentAssembly> 

e garantire la gamma old-new ha un senso, o semplice, che questo nodo ha un senso a tutti. Il mio primo tentativo sarebbe semplicemente cancellarlo e ricontrollare.Può accadere che alcuni pacchetti NuGet pasticciano con il file di configurazione nella vecchia versione e questo nodo non è più necessario più nuovo in una volta (e non viene eliminato automaticamente).

Problemi correlati