Udostępnij za pośrednictwem


Błąd użycia EnvDTE z zestawami VSLangProj

Dodatki Visual Studio zostały zaniechane w programie Visual Studio 2013.Dodatki należy uaktualniać do pakietu rozszerzenia VSPackage.Aby uzyskać więcej informacji na temat uaktualniania, zobacz Często zadawane pytania: konwertowanie dodatków na rozszerzenia pakietu VSPackage.

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

„Nieobsługiwany wyjątek: System.IO.FileNotFoundException: Błąd podczas ładowania pliku 'EnvDTE, Wersja=7.0.3300.0”

Przyczyną tego błędu jest konflikt środowiska uruchomieniowego rozdzielczości typu.Oznacza to, że wersja EnvDTE, która jest zawarta w Visual Studio 2005 to 8.0.xx, ale odniesienie konfiguracji projektu szuka starszej wersji tego zestawu, wersji 7.0.xx.Aby rozwiązać ten problem, należy dodać przekierowanie powiązania dla nowszej wersji programu EnvDTE do pliku konfiguracji (.config) projektu.Umożliwi to Visual Studio załadowanie w nowszej wersji EnvDTE i zapobiegnie występowaniu błędu.

Aby to zrobić, dodaj "Plik konfiguracji aplikacji" do swojego projektu i następnie zastąp 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ą plików konfiguracyjnych.

Zobacz też

Zadania

Porady: dodawanie odwołań do przestrzeni nazw automatyzacji

Inne zasoby

Odwołania do zestawów automatyzacji i obiektu DTE2