Windows Form 設計工具錯誤頁面

如果 Windows Form 設計工具因程式碼、第三方元件或其他地方的錯誤而無法載入,您會看到錯誤頁面,而不是設計工具。 這個錯誤頁面不一定代表設計工具存有 Bug。 Bug 可能位於名為 <your-form-name>.Designer.cs 之程式碼後置頁面中。 錯誤會出現在可折疊的黃色列中,並顯示連結以跳至字碼頁中錯誤的位置。

Windows Form 設計工具錯誤頁面

您可以選擇忽略錯誤,然後按一下 [忽略並繼續] 以繼續載入設計工具。 此動作可能會導致非預期的行為,例如控制項可能不會出現在設計介面上。

此錯誤的執行個體

展開黃色誤差線時,會列出錯誤的每個執行個體。 許多錯誤類型包括確切的位置,格式如下:[專案名稱] [表單名稱] 行:[行號]資料行:[資料行號碼]。 如果錯誤有關聯的呼叫堆疊,您可以按一下 [呼叫堆疊顯示] 連結進行查看。 檢查呼叫堆疊可進一步協助您解決錯誤。

Windows Form 設計工具展開錯誤

注意

  • 針對 Visual Basic 應用程式,設計階段錯誤頁面不會顯示一個以上的錯誤,但可能顯示相同錯誤的多個執行個體。
  • 針對 C++ 應用程式,錯誤沒有程式碼位置連結。

此錯誤的說明

如果錯誤的說明主題可供使用,請按下 [MSDN 說明] 連結以直接瀏覽至說明頁面。

此錯誤的相關論壇文章

按一下 [在 MSDN 論壇中搜尋與此錯誤相關的文章] 連結以瀏覽至 Microsoft Developer Network 論壇。 您可能會想要特別搜尋 [Windows Form 設計工具] 或 [Windows Forms] 論壇。

設計階段錯誤

本節列出您可能會遇到的一些錯誤。

'<識別碼名稱>' 不是有效的識別碼

此錯誤表示欄位、方法、事件或物件的名稱不正確。

'<名稱>' 已存在 '<專案名稱>' 內

錯誤訊息:「'<名稱>' 已存在 '<專案名稱>' 內。 請輸入唯一的名稱。」

您已為已存在專案中的繼承表單指定名稱。 若要更正此錯誤,請為繼承表單指定唯一的名稱。

'<[工具箱] 索引標籤名稱>' 不是工具箱類別

第三方設計工具嘗試存取 [工具箱] 上不存在的索引標籤。 請連絡元件廠商。

未安裝要求的語言剖析器

錯誤訊息:「未安裝要求的語言剖析器。 語言剖析器名稱為 '{0}'。」

Visual Studio 嘗試載入已註冊檔案類型但無法註冊的設計工具。 這很可能是因為在安裝期間發生錯誤。 請連絡您所使用之語言的廠商進行修正。

遺失產生及剖析原始程式碼所必備的服務

這是第三方元件的問題。 請連絡元件廠商。

嘗試建立 '<物件名稱>' 的執行個體時發生例外狀況

錯誤訊息:「嘗試建立 '<物件名稱>' 的執行個體時發生例外狀況。」 例外狀況為「<例外狀況字串>」。

第三方設計工具要求 Visual Studio 建立物件,但物件引發錯誤。 請連絡元件廠商。

另一個編輯器在不相容的模式下開啟 '<文件名稱>'

錯誤訊息:「另一個編輯器在不相容的模式下開啟 '<文件名稱>'。 請關閉編輯器並重試此操作。」

如果您嘗試開啟已在其他編輯器中開啟的檔案,則會引發此錯誤。 顯示已開啟檔案的編輯器。 若要更正此錯誤,請關閉已開啟檔案的編輯器,然後再試一次。

另一個編輯器已對 '<文件名稱>' 進行變更

關閉然後重新開啟設計工具,才能使變更生效。 一般而言,Visual Studio 會在進行變更之後自動重新載入設計工具。 然而,其他設計工具,例如第三方元件設計工具,可能不支援重新載入行為。 在此情況下,Visual Studio 會提示您手動關閉並重新開啟設計工具。

另一個編輯器在不相容的模式下開啟檔案

錯誤訊息:「另一個編輯器在不相容的模式下開啟檔案。 請關閉編輯器並重試此操作。」

此訊息類似於「另一個編輯器在不相容的模式下開啟 '<文件名稱>'」,但 Visual Studio 無法判斷檔案名稱。 若要更正此錯誤,請關閉已開啟檔案的編輯器,然後再試一次。

陣列排名 '<陣列中的排名>' 太高

Visual Studio 僅支援設計工具剖析的程式碼區塊中的單一維度陣列。 多維度陣列在此區域之外有效。

組件 '<組件名稱>' 無法開啟

錯誤訊息:「組件 '<組件名稱>' 無法開啟。 請確認檔案仍存在。」

當您嘗試開啟無法開啟的檔案時,則會出現此錯誤訊息。 確認檔案存在且為有效的組件。

不正確的元素類型。 此序列化程式必須為類型 '<類型名稱>' 的元素

這是第三方元件的問題。 請連絡元件廠商。

目前無法存取 Visual Studio 工具箱

Visual Studio 呼叫無法使用的 [工具箱]。 如果您看到此錯誤,請使用 [回報問題] 來記錄問題。

因為是唯讀的,無法將事件處理常式繫結至 '<事件名稱>' 事件

當您嘗試將事件連結至繼承自基底類別的控制項時,通常會發生此錯誤。 如果控制項的成員變數是私人的,Visual Studio 就無法將事件連結至該方法。 私人繼承的控制項不能有繫結至這些控制項的其他事件。

因為要求的元件不是設計容器的成員,所以無法建立方法名稱

Visual Studio 已嘗試在設計工具中沒有成員變數的元件新增事件處理常式。 請連絡元件廠商。

無法命名物件 '<名稱>',因為已經命名為 '<名稱>'

這是 Visual Studio 序列化程式的內部錯誤。 其表示序列化程式嘗試為物件命名兩次,但不受支援。 如果您看到此錯誤,請使用 [回報問題] 來記錄問題。

無法移除或摧毀繼承的元件 '<元件名稱>'

繼承的控制項屬於其繼承類別的擁有權。 繼承的控制項變更必須在控制項的來源類別中進行。 因此,您無法重新命名或摧毀它。

類別 '<[工具箱] 索引標籤名稱>' 沒有類別 '<類別名稱>' 的工具

設計工具嘗試參考特定 [工具箱] 索引標籤上的類別,但類別不存在。 請連絡元件廠商。

類別 '<類型名稱>' 沒有相符的建構函式

第三方設計工具已要求 Visual Studio 在不存在的建構函式中建立具有特定參數的物件。 請連絡元件廠商。

無法產生屬性 '<屬性名稱>' 的程式碼

這是錯誤的泛型包裝函式。 此訊息隨附的錯誤字串會提供有關錯誤訊息的更多詳細資料,並提供更具體的說明主題連結。 若要更正此錯誤,請解決附加至此錯誤之錯誤訊息中指定的錯誤。

元件 '<元件名稱>' 未呼叫其建構函式中的 Container.Add()

這是您剛才載入或放置在表單上之元件中的錯誤。 這表示元件未將本身新增至其容器控制項 (無論是另一個控制項還是表單)。 設計工具會繼續運作,但元件在運作時可能會出現問題。

若要更正錯誤,請連絡元件廠商。 或者,如果是您所建立的元件,請在元件的建構函式中呼叫 IContainer.Add 方法。

元件名稱不可為空白

當您嘗試將元件重新命名為空白值時,則會出現此錯誤。

無法存取變數 '<變數名稱>',因為它還沒有初始化

此錯誤可能會因為兩種情況而發生。 第三方元件廠商有其分散式控制項或元件的問題,或您撰寫的程式碼在元件之間具有遞迴相依性。

若要更正此錯誤,請確保您的程式碼沒有遞迴相依性。 如果沒有這類問題,請記下錯誤訊息的確切文字,並連絡元件廠商。

找不到類型 '<類型名稱>'

錯誤訊息:「找不到類型 '<類型名稱>'。 請確保已參考包含此類型的元件。 如果此類型是您開發專案的一部分,請確保已成功組建專案。」

發生此錯誤是因為找不到參考。 請確保已參考錯誤訊息中所指出的類型,並且也會參考類型所需的任何組件。 通常,問題在於解決方案中的控制項尚未組建。 若要進行組建,請從 [組建] 功能表中選取 [組建解決方案]。 否則,如果已組建控制項,請從 [方案總管] 中的 [參考] 或 [相依性] 資料夾的快顯功能表中手動新增參考。

無法載入類型 '<類型名稱>'

錯誤訊息:「無法載入類型 '<類型名稱>'。 請確保包含此類型的組件已新增至專案參考。」

Visual Studio 嘗試連接事件處理方法,但找不到該方法的一個或多個參數類型。 這通常是由遺失的參考所造成。 若要更正此錯誤,請將包含類型的參考新增至專案,然後再試一次。

找不到繼承元件的專案項目範本

Visual Studio 中繼承表單的範本無法使用。 如果您看到此錯誤,請使用 [回報問題] 來記錄問題。

委派類別 '<類別名稱>' 沒有叫用方法。 此類別是否為委派

Visual Studio 已嘗試建立事件處理常式,但事件類型發生錯誤。 如果事件是由不符合 CLS 規範的語言所建立,則會發生這種情況。 請連絡元件廠商。

成員 '<成員名稱>' 重複宣告

發生此錯誤,是因為成員變數已宣告兩次 (例如,程式碼中已宣告兩個名為 Button1 的控制項)。 名稱在繼承的表單中必須是唯一的。 此外,名稱不能僅因大小寫而異。

從資源檔讀取文化特性 '<文化特性名稱>' 的資源時發生錯誤

如果專案中有錯誤的 .resx 檔案,則可能會出現此錯誤。

若要更正此錯誤:

  1. 按一下 [方案總管] 中的 [顯示所有檔案] 按鈕以查看與解決方案關聯的 .resx 檔案。
  2. 在 XML 編輯器中載入 .resx 檔案,方法是以滑鼠右鍵按下 .resx 檔案,然後選擇 [開啟]
  3. 手動編輯 .resx 檔案以解決錯誤。

從資源檔讀取預設文化特性 '<文化特性名稱>' 的資源時發生錯誤

如果專案中的預設文化特性中有錯誤的 .resx 檔案,則可能會出現此錯誤。

若要更正此錯誤:

  1. 按一下 [方案總管] 中的 [顯示所有檔案] 按鈕以查看與解決方案關聯的 .resx 檔案。
  2. 在 XML 編輯器中載入 .resx 檔案,方法是以滑鼠右鍵按下 .resx 檔案,然後選擇 [開啟]
  3. 手動編輯 .resx 檔案以解決錯誤。

剖析方法 '<方法名稱>' 時失敗

錯誤訊息:「剖析方法 '<方法名稱>' 時失敗。 剖析器回報下列錯誤:’<錯誤字串>’。 請查看 [工作清單] 中是否有潛在錯誤。」

這是剖析期間所發生問題的一般錯誤訊息。 這些錯誤通常是因為語法錯誤所造成。 如需與錯誤相關的特定訊息,請參閱 [工作清單]。

無效的元件名稱:'<元件名稱>'

您已嘗試將元件重新命名為該語言的無效值。 若要更正此錯誤,請為元件命名,使其符合該語言的命名規則。

類型 '<類型名稱>' 是由相同檔案中的數個部分類別組成

當您使用部分關鍵字在多個檔案中定義類別時,每個檔案中只能有一個部分定義。

若要更正此錯誤,請從檔案中移除類別的所有部分定義 (僅保留一個部分定義)。

找不到組件 '<組件名稱>'

錯誤訊息:「找不到組件 '<組件名稱>'。 請確保已參考組件。 如果組件是目前開發專案的一部分,請確保已組建專案。」

此錯誤類似於「找不到類型 '<類型名稱>'」,但此錯誤通常是因為中繼資料屬性而發生。 若要更正此錯誤,請檢查已參考屬性所使用的所有組件。

組件名稱 '<組件名稱>' 無效

元件已要求特定組件,但元件所提供的名稱不是有效的組件名稱。 請連絡元件廠商。

無法設計基底類別 '<類別名稱>'

Visual Studio 已載入類別,但無法設計類別,因為類別的實作工具未提供設計工具。 如果類別支援設計工具,請確保沒有任何問題會造成在設計工具中顯示其時出現問題,例如編譯器錯誤。 此外,請確保類別的所有參考皆正確,並且所有類別名稱拼寫正確。 否則,如果類別無法設計,請在 [程式碼檢視] 中進行編輯。

無法載入基底類別 '<類別名稱>'

類別未在專案中參考,因此 Visual Studio 無法載入它。 若要更正此錯誤,請在專案中新增類別的參考,然後關閉並重新開啟 Windows Form 設計工具視窗。

在此版本的 Visual Studio 中無法設計類別 '<類別名稱>'

此控制項或元件的設計工具不支援與 Visual Studio 相同的類型。 請連絡元件廠商。

類別名稱不是此語言的有效識別碼

使用者所建立的原始程式碼具有對所使用語言無效的類別名稱。 若要更正此錯誤,請命名該類別,使其符合語言需求。

因為元件包含對 '<參考名稱>' 的循環參考,因此無法加入

您無法將控制項或元件新增至本身。 另一個可能發生這種情況的狀況是,如果表單 (例如 Form1) 的 InitializeComponent 方法中有程式碼,則會建立 Form1 的另一個執行個體。

目前無法修改設計工具

當編輯器中的檔案標示為唯讀時,則會出現此錯誤。 請確保檔案未標示為唯讀,且應用程式未執行。

無法對這個檔案顯示設計工具,因為檔案中沒有可以設計的類別

當 Visual Studio 找不到符合設計工具需求的基底類別時,則會出現此錯誤。 表單和控制項必須衍生自支援設計工具的基底類別。 如果您從繼承的表單或控制項衍生,請確保專案已組建。

未安裝基底類別 '<類別名稱>' 的設計工具

Visual Studio 無法載入該類別的設計工具。 如果您看到此錯誤,請使用 [回報問題] 來記錄問題。

設計工具必須建立類型 '<類型名稱>' 的執行個體,但因為已經將類型宣告為抽象所以無法建立

發生此錯誤是因為傳遞至設計工具之物件的基底類別是抽象,這是不允許的。

設計工具無法載入檔案

這個檔案的基底類別不支援任何設計工具。 因應措施是使用 [程式碼檢視] 來處理檔案。 以滑鼠右鍵按一下 [方案總管] 中的檔案,然後選擇 [檢視程式碼]

這個檔案所使用的語言不支援必要的程式碼剖析及產生服務

錯誤訊息:「這個檔案所使用的語言不支援必要的程式碼剖析及產生服務。 請確保您開啟的檔案是專案的成員,然後再次嘗試開啟檔案。」

此錯誤很可能是因為開啟不支援設計工具之專案中的檔案所造成。

未正確實作語言剖析器類別 '<類別名稱>'

錯誤訊息:「未正確實作語言剖析器類別 '<類別名稱>'。 請連絡廠商以取得更新的剖析器模組。」

使用中的語言已註冊不是從正確基底類別衍生的設計工具類別。 請連絡您所使用之語言的廠商。

其他物件已經使用名稱 '<名稱>'

這是 Visual Studio 序列化程式的內部錯誤。 如果您看到此錯誤,請使用 [回報問題] 來記錄問題。

物件 '<物件名稱>' 並未實作 IComponent 介面

Visual Studio 嘗試建立元件,但建立的物件不會實作 IComponent 介面。 請連絡元件廠商進行修正。

物件 '<物件名稱>' 已傳回屬性 '<屬性名稱>' 的 null,但這是不允許的

有一些 .NET 屬性應該一律傳回物件。 例如,表單的 [控制項] 集合應該一律會傳回物件,即使其中沒有任何控制項也一樣。

若要更正此錯誤,請確保錯誤中指定的屬性不是 null。

序列化資料物件不是適當的類型

序列化程式所提供的資料物件不是符合目前序列化程式之類型的執行個體。 請連絡元件廠商。

必須有服務 '<服務名稱>',但無法載入

錯誤訊息:「必須有服務 '<服務名稱>',但無法載入。 您的 Visual Studio 安裝可能有問題。」

Visual Studio 所需的服務無法使用。 如果您嘗試載入不支援該設計工具的專案,請使用 [程式碼編輯器] 進行所需的變更。 否則,如果您看到此錯誤,請使用 [回報問題] 來記錄問題。

服務執行個體必須從 '<介面名稱>' 衍生或實作

此錯誤表示元件或元件設計工具已呼叫 AddService 方法,其需要介面和物件,但指定的物件不會實作指定的介面。 請連絡元件廠商。

無法修改程式碼視窗中的文字

錯誤訊息:「無法修改程式碼視窗中的文字。 檢查檔案不是唯讀的,並且有足夠的磁碟空間。」

當 Visual Studio 因磁碟空間或記憶體問題而無法編輯檔案,或檔案標示為唯讀時,則會出現此錯誤。

[工具箱] 列舉程式物件一次只支援擷取一個項目

如果您看到此錯誤,請使用 [回報問題] 來記錄問題。

無法從工具箱擷取 '<元件名稱>' 的 [工具箱] 項目

錯誤訊息:「無法從 [工具箱] 擷取 '<元件名稱>' 的 [工具箱] 項目。 請確保已正確安裝包含 [工具箱] 項目的組件。 [工具箱] 項目引發下列錯誤:<錯誤字串>。」

有問題的元件在 Visual Studio 存取時會擲回例外狀況。 請連絡元件廠商。

無法從工具箱擷取 '<工具箱項目名稱>' 的 [工具箱] 項目

錯誤訊息:「無法從工具箱擷取 '<工具箱項目名稱>' 的 [工具箱] 項目。 請嘗試從 [工具箱] 中移除項目,然後將其加回。

如果 [工具箱] 項目內的資料已損毀,或元件的版本已變更,則會出現此錯誤。 請嘗試從 [工具箱] 中移除項目,然後再次將其加回。

找不到類型 '<類型名稱>'

錯誤訊息:「找不到類型 '<類型名稱>'。 請確保已參考包含類型的元件。 如果組件是目前開發專案的一部分,請確保已組建專案。」

載入設計工具時,Visual Studio 找不到類型。 請確保已參考包含類型的元件。 如果組件是目前開發專案的一部分,請確保已組建專案。

只能從主應用程式的執行緒中呼叫類型解析服務

Visual Studio 嘗試從錯誤的執行緒存取必要的資源。 當用於建立設計工具的程式碼從主應用程式執行緒以外的執行緒呼叫類型解析服務時,會顯示此錯誤。 若要更正此錯誤,請從正確的執行緒呼叫服務,或連絡元件廠商。

變數 '<變數名稱>' 尚未宣告或沒有指派

原始程式碼具有變數的參考,例如 Button1 未宣告或指派。 如果尚未指派變數,此訊息會顯示為警告,而不是錯誤。

功能表命令 '<功能表命令名稱>' 已經有命令處理常式

如果第三方設計工具將已有處理常式的命令新增至命令資料表中,則會出現此錯誤。 請連絡元件廠商。

已經有名為 '<元件名稱>' 的元件

錯誤訊息:「已經有名為 '<元件名稱>' 的元件。 元件必須具有唯一的名稱,且名稱不得區分大小寫。 名稱也無法與繼承類別中任何元件的名稱衝突。」

當 [屬性] 視窗中的元件名稱變更時,就會出現此錯誤訊息。 若要更正此錯誤,請確保所有元件名稱都是唯一的、不區分大小寫,也不會與繼承類別中任何元件的名稱衝突。

已經有為格式 '<格式名稱>' 登錄的 [工具箱] 項目建立者

第三方元件對 [工具箱] 索引標籤上的項目進行回撥,但該項目已包含回撥。 請連絡元件廠商。

此語言引擎不支援使用 CodeModel 載入設計工具

此訊息類似於「此檔案的語言不支援必要的程式碼剖析和產生服務」,但此訊息涉及內部註冊問題。 如果您看到此錯誤,請使用 [回報問題] 來記錄問題。

類型 '<類型名稱>' 沒有 '<參數類型名稱>' 類型參數的建構函式

Visual Studio 找不到具有相符參數的建構函式。 這可能是由於向建構函式提供的類型不是所需類型的結果。 例如,Point 建構函式可能需要兩個整數。 如果您提供浮點數,就會引發此錯誤。

若要更正此錯誤,請使用不同的建構函式,或明確轉換參數類型,使其與建構函式提供的類型相符。

無法將參考 '<參考名稱>' 加入至目前的應用程式

錯誤訊息:「無法將參考 '<參考名稱>' 加入至目前的應用程式。 檢查是否有其他版本的 '<參考名稱>' 尚未參考。」

Visual Studio 無法新增參考。 若要更正此錯誤,請檢查是否尚未參考其他版本的參考。

無法簽出目前的檔案

錯誤訊息:「無法簽出目前的檔案。 檔案可能已鎖定,或者可能需要手動簽出檔案。」

當您變更目前簽入原始程式碼控制項的檔案時,就會出現此錯誤。 Visual Studio 通常會顯示 [檔案簽出] 對話方塊,以便使用者可以簽出檔案。 這次,檔案並未簽出,可能是因為簽出期間發生合併衝突。 若要更正此錯誤,請確保檔案未鎖定,然後嘗試手動簽出檔案。

找不到名為 '<[選項] 對話方塊索引標籤名稱>' 的頁面

當元件設計工具使用不存在的名稱要求從 [選項] 對話方塊存取頁面時,就會出現此錯誤。 請連絡元件廠商。

在頁面 '<[選項] 對話方塊索引標籤名稱>' 上找不到屬性 '<屬性名稱>'

當元件設計工具要求從「選項」對話方塊存取頁面上的特定值,但該值不存在時,就會引發此錯誤。 請連絡元件廠商。

Visual Studio 無法開啟這個檔案的設計工具,因為它裡面的類別不會從能以視覺化方式設計的類別繼承

Visual Studio 已載入類別,但無法載入該類別的設計工具。 Visual Studio 需要該設計工具才能使用檔案中的第一個類別。 若要更正此錯誤,請移動類別程式碼,使其為檔案中的第一個類別,然後再次載入設計工具。

Visual Studio 無法儲存或載入類型 '<類型名稱>' 的執行個體

這是第三方元件的問題。 請連絡元件廠商。

Visual Studio 無法在設計檢視中開啟 '<文件名稱>'

錯誤訊息:「Visual Studio 無法在設計檢視中開啟 '<文件名稱>'。 未針對檔案類型安裝剖析器。」

此錯誤表示專案的語言不支援設計工具,當您嘗試在 [開啟檔案] 對話方塊或從 [方案總管] 開啟檔案時會出現此錯誤。 請改為在 [程式碼檢視] 中編輯檔案。

Visual Studio 找不到類型 '<類型名稱>' 的類別設計工具

Visual Studio 已載入類別,但無法設計類別。 相反地,可以透過以滑鼠右鍵按一下類別並選擇 [檢視程式碼] 以在 [程式碼檢視] 中編輯類別。

另請參閱