Errore durante l'utilizzo di EnvDTE con assembly VSLangProj
I componenti aggiuntivi di Visual Studio sono deprecati in Visual Studio 2013. Si consiglia di effettuare l'aggiornamento dei componenti aggiuntivi alle estensioni di VSPackage. Per ulteriori informazioni sull'aggiornamento, consultare Domande frequenti: conversione di componenti aggiuntivi in VSPackage Extensions.
Se si crea un progetto che fa riferimento a uno o più assembly VSLangProj e all'assembly EnvDTE, è possibile che in fase di esecuzione si verifichi l'errore riportato di seguito:
"Eccezione non gestita: System.IO.FileNotFoundException: Errore durante il caricamento del file 'EnvDTE, Version=7.0.3300.0"
Questo errore è dovuto a un conflitto di risoluzione dei tipi in fase di esecuzione. La versione di EnvDTE inclusa in Visual Studio 2005 è la 8.0.xx, ma il riferimento della configurazione del progetto cerca una versione precedente di questo assembly, ovvero la versione 7.0.xx. Per correggere il problema, è necessario aggiungere un reindirizzamento dell'associazione per la versione più recente di EnvDTE al file di configurazione (config) del progetto. Ciò permetterà a Visual Studio di caricare la versione più recente d EnvDTE impedendo così che si verifichi l'errore.
A tale scopo, aggiungere un "File di configurazione dell'applicazione" al progetto e sostituirne il contenuto con quanto riportato di seguito:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-
com:asm.v1" appliesTo="v2.0.50318">
<dependentAssembly>
<assemblyIdentity name="EnvDTE" publicKeyToken=
"b03f5f7f11d50a3a"/>
<bindingRedirect oldVersion="7.0.3300.0"
newVersion="8.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Questo errore si verifica solo se si sta compilando un EXE, poiché le DLL non dispongono di file config.
Vedere anche
Attività
Procedura: aggiungere riferimenti agli spazi dei nomi di automazione