Udostępnij za pośrednictwem


Błąd podczas EnvDTE jest używana z zestawów VSLangProj

Jeżeli tworzysz projekt, który odwołuje się do jednego lub więcej VSLangProj zespoły i EnvDTE Zgromadzenia, można niekiedy otrzymać następujący błąd w czasie wykonywania:

"Nieobsłużony wyjątek: System.IO.FileNotFoundException: błąd podczas ładowania pliku" EnvDTE, Version = 7.0.3300.0 "

Ten błąd jest z powodu konfliktu rozdzielczości typu runtime.Oznacza to, że wersja EnvDTE dołączone do Visual Studio 2005 jest 8.0.xx, ale odniesienia konfiguracji projektu poszukuje wcześniejszej wersji tego zestawu, wersja 7.0.xx.Aby rozwiązać ten problem, należy dodać przekierowania powiązań dla nowszej wersji EnvDTE do pliku konfiguracji (config) projektu.Umożliwi to Visual Studio do ładowania w nowszej wersji EnvDTE i zapobiec błąd zapobiegnie.

Aby to zrobić, Dodaj "Plik konfiguracji aplikacji" do swojego projektu i zamienić jego zawartość następujących czynności:

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

Ten błąd występuje tylko wtedy, gdy tworzysz EXE, ponieważ biblioteki DLL nie mają pliki konfiguracyjne.

Zobacz też

Zadania

Jak: Dodawanie odwołania do nazw automatyzacji

Inne zasoby

Odwołujący się zestawów automatyzacji i obiekt DTE2