共用方式為


疑難排解例外狀況:System.InvalidOperationException

當叫用 (Invoke) 方法失敗,而且原因不是無效的引數時,就會擲回 InvalidOperationException 例外狀況 (Exception)。 無法叫用基礎 Win32 方法時,.NET Framework 方法就可能會擲回這個例外狀況。

相關秘訣

  • 如果您使用了 GetHdc 方法之後又使用 Graphics 物件,請呼叫 ReleaseHdc 方法。
    這會釋放 Graphics 物件對 GetHdc 方法進行之前一個呼叫所取得的內容控制碼。

  • TableAdapters 需要有效的 UPDATE、INSERT 和 DELETE 命令,以便成功執行儲存作業。
    TableAdapters 會依據輸入精靈的原始 SELECT 陳述式,產生 INSERT、UPDATE 和 DELETE 陳述式。 在某些情況中,SELECT 陳述式提供的資訊並不足以讓配接器 (Adapter) 產生命令,以建立成功儲存所必要的 INSERT、UPDATE 和 DELETE 命令。 當資料庫資料表沒有主索引鍵資料行,或 SELECT 命令使用 JOINS 時,常會發生這個狀況。 如需詳細資訊,請參閱 HOW TO:編輯 TableAdapter

  • 傳遞有效端點名稱給服務用戶端建構函式 (Constructor)。
    當 Windows Communication Foundation (WCF) 用戶端只有一個端點時,在使用上並不會有任何疑慮,也不需要列出端點做為引數。 然而,當同一個合約型別有兩個或以上的端點時,就必須指定用戶端要使用哪一個端點。 例如,將用戶端定義為不含引數的 ServiceReference.ServiceSoapClient() 執行個體 (Instance) 時,會引發這個例外狀況。 只要指定特定端點,就可以解決問題:

    Dim client As New ServiceReference.ServiceSoapClient("ServiceSoap")

    同樣地,如果提供找不到的端點名稱,也會引發這個例外狀況。 在此情況下,則必須識別並提供有效的端點名稱。

備註

當您在 Visual Studio 偵錯工具中執行程式碼時,如果從某個執行緒存取 UI 項目,但這個執行緒不是建立該 UI 項目的執行緒,就會擲回 InvalidOperationException。 偵錯工具藉此警告您的程式設計做法很危險。 UI 項目不是安全執行緒,只能經由建立該 UI 項目的執行緒進行存取。 如需詳細資訊,請參閱 執行緒 (C# 和 Visual Basic)

如果是因為引數無效而造成方法引動過程失敗,則應該會擲回 ArgumentException,或是它的其中一個衍生類別 (Derived Class) ArgumentNullExceptionArgumentOutOfRangeException

針對使用 Visual Studio 和 SQL Server Compact 3.5 進行的 64 位元程式開發,[進階編譯器設定] 中的 [目標 CPU] 選項必須明確設定為 [x86]。 當 [目標 CPU] 設定為預設值 [任何 CPU] 時,您可能會收到「無法載入 sqlceme35.dll」這個訊息。 因此請務必設定專案屬性中,[進階編譯器設定] 的 [目標 CPU] 選項。

請參閱

工作

HOW TO:使用例外狀況助理

服務參考的疑難排解

參考

InvalidOperationException

GetHdc

ReleaseHdc