Partilhar via


Erro ao EnvDTE É usado com Assemblies de VSLangProj

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

"Exceção sem tratamento: System.IO.FileNotFoundException: erro ao carregar o arquivo ' EnvDTE, versão = 7.0.3300.0"

Esse erro é devido a um conflito de resolução de tipo em 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 do EnvDTE para o arquivo de configuração (. config) do seu projeto.Isso permitirá que Visual Studio para carregar a versão mais recente do EnvDTE e evitar o erro ocorram.

Para fazer isso, adicione um "arquivo de configuração do aplicativo" ao seu projeto e, em seguida, substitua o seu conteúdo 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 somente se você estiver criando um EXE, como as DLLs não possuem arquivos de configuração.

Consulte também

Tarefas

Como: adicionar referências aos Namespaces de automação

Outros recursos

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