FIX: 使用 Visual Studio 的應用程式 Visual Basic 執行階段的自訂應用程式可能會無法編譯的巨集,或是執行巨集

文章翻譯 文章翻譯
文章編號: 928208 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

考慮下列案例:
  • 您使用 Microsoft.NET Framework 2.0 來建立自訂的應用程式。
  • 自訂的應用程式會使用 Microsoft Visual Studio 的應用程式 (VSA) Visual Basic 執行階段。
  • 您已經更新,可以執行較新版的 Microsoft.NET Framework 公用語言執行時間 (CLR) 的系統上執行自訂的應用程式。
在這種情況下自訂的應用程式可能無法正確運作,或可能會產生錯誤。當您嘗試編譯巨集,或當您嘗試在自訂應用程式中執行巨集時,就會發生這些問題。

當您正在開發自訂應用程式藉由使用 VSA 時,可能會遇到下列問題。當自訂的應用程式呼叫 Microsoft.VisualBasic.Vsa.VsaEngine.Compile 方法時,會擲回例外狀況 VSA Visual Basic 執行階段由到主機。主應用程式可能會設陷在例外狀況,並且使用者可能會收到下列錯誤訊息:
嘗試載入格式不正確的程式。(從 HRESULT 的例外狀況: 0x8007000B)
或者,主應用程式可能會忽略例外狀況並其中一個下列徵狀可能會發生:
  • 當使用者嘗試執行巨集,使用者只需編譯主應用程式會意外地失敗。
  • 主應用程式不會處理以任何方式巨集。
在後者的情況下 CLR 會關閉應用程式,因為應用程式有未處理的例外狀況。

當想在自訂應用程式中執行巨集可能會遭遇一或多個下列徵狀:
  • 您會收到錯誤訊息,無法產生或執行巨集。
  • 您收到錯誤訊息無法載入巨集或組件。
  • 主應用程式可能無法啟動,或可能會意外地結束。
  • 雖然主應用程式不會報告錯誤,巨集不會執行,而且應用程式似乎已完成執行任何動作。

發生的原因

之所以發生這個問題,因為是 CLR 工作站執行階段 (Mscorwks.dll) 中最近的設計變更均晚於 2.0.50727.300.NET Framework 2.0 的組建。 這項變更引進了 Visual Basic 執行階段引擎 (Vsavb7rt.dll) 所用的 VSA 有相容性問題。 在發生問題而無法從 beng 巨集編譯作業期間正確產生的組件。

這個問題可能會出現要給主機應用程式傳回 < 徵狀 > 一節所述的例外狀況錯誤訊息。主應用程式可能會按某種方式中,使用者報告這個錯誤。或者,主應用程式可能會擲回例外狀況,並意外地結束。

附註應用程式軟體開發套件 (SDK) 和.NET Framework 1.1 中使用完整功能的 Microsoft Visual Studio 的自訂應用程式不會遇到這個問題。只有在使用 VSA 執行階段隨附於.NET Framework 2.0 的主機應用程式中,就會發生這個問題。

解決方案

Hotfix 資訊



Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。這個 Hotfix 可能會接受額外的測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個包含此 Hotfix 的軟體更新。

如果要下載此 Hotfix 從 MSDN 程式碼庫,請造訪下列 Microsoft 網站]:
http://code.msdn.microsoft.com/KB928208

附註[MSDN 程式碼庫會顯示此 Hotfix 會出現,以供使用的語言。如果您看不到您所列出的語言,它是因為代碼庫資源頁面未提供該語言的支援。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support

必要條件

沒有先決條件都是必要的。

重新啟動需求

您沒有套用此 Hotfix 之後重新啟動電腦。

檔案資訊

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用在 [日期及時間中項目控制台中的 [時區] 索引標籤]。
早於 Windows Vista 作業系統
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Vsavb7rt.dll8.0.50727.2441,330,6882006 年十一月 16 日08: 06x86
Windows Vista
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Vsavb7rt.dll8.0.50727.7841,330,6882007 年五月 18 日14: 07x86

狀況說明

Microsoft 已確認這是在 < 適用於 > 一節中所列出的 Microsoft 產品中有錯誤。

其他相關資訊

如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
824684用來描述 Microsoft 軟體更新標準術語的說明

屬性

文章編號: 928208 - 上次校閱: 2007年12月3日 - 版次: 1.9
這篇文章中的資訊適用於:
  • Microsoft .NET Framework 2.0
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual Studio for Applications SDK 1.1
關鍵字:?
kbmt kbqfe kbfix KB928208 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:928208
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com