共用方式為


EnvDTE 和 VSLangProj 組件搭配使用時的錯誤

如果建立的專案要參考一個或多個 VSLangProj 組件和 EnvDTE 組件,在執行階段可能偶爾會收到下列錯誤訊息:

「未處理的例外狀況: System.IO.FileNotFoundException: 載入檔案 'EnvDTE, Version=7.0.3300.0 時發生錯誤」

這個錯誤是由於執行階段型別解析衝突所引起。 換句話說,Visual Studio 2005 中所附的 EnvDTE 組件是 8.0.xx 版,但是專案的組態參考卻要尋找此組件的舊版,也就是 7.0.xx 版。 若要修正這個問題,必須在專案的組態 (.config) 檔中加入新版 EnvDTE 組件的繫結重新導向。 這麼做才能讓 Visual Studio 載入新版的 EnvDTE 組件,而且不再發生錯誤。

若要這麼做,請在專案中加入「應用程式組態檔」,然後以下列程式碼取代其內容:

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

在您建置 EXE 時才會發生這個錯誤,因為 DLL 並沒有組態檔。

請參閱

工作

HOW TO:加入 Automation 命名空間的參考

其他資源

參考 Automation 組件和 DTE2 物件