Partilhar via


Erro ao EnvDTE É usado com assemblies VSLangProj

Se você criar um projeto que referencia um ou mais de VSLangProj assemblies e o EnvDTE assembly, você pode ocasionalmente obter o seguinte erro em tempo de execução:

"exceção sem tratamento: sistema.IO.FileNotFoundException: Erro ao carregar o arquivo ' EnvDTE, versão = 7.0.3300.0 "

Este erro é devido a um conflito de resolução de tipo de tempo de execução.Ou seja, a versão do EnvDTE incluída no Visual Studio 2005 é 8.0.xx, mas a referência de configuração do projeto está procurando por uma versão anterior deste assembly, versão 7.0.xx. Para corrigir esse problema, você deve adicionar um redirecionamento de ligação para a versão mais recente de EnvDTE arquivo de configuração (config) do seu projeto. Isso permitirá que Visual Studio para carregar a versão mais recente do EnvDTE e impedir que o erro ocorram.

Para fazer isso, adicione um "arquivo de configuração de aplicativo" ao seu projeto e, em seguida, substitua seu Sumário com o seguinte:

<?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>

Este erro ocorre apenas se você estiver criando um EXE, como as DLLs não possuem arquivos de configuração.

Consulte também

Tarefas

Como: Adicionar referências ao EnvDTE, EnvDTE80 e EnvDTE90 Namespaces

Outros recursos

Assemblies referência de automação e o objeto DTE2