10

私のクラスは System.Web.Security.MembershipUser から派生しています。フォームを送信すると、このエラーが発生します。ポップアップ フォームは ASPPDF を使用し、カスタム MembershipProvider グッズを実装する前は、アプリケーションにこの問題はありませんでした。これはデバッグ エラーのみであることに注意してください。デバッグしていないときはうまくいくようです。これを修正する方法を知っている人はいますか?

NonComVisibleBaseClass が検出されました メッセージ: COM 可視マネージド クラス 'XyAmpUser' の既定の IDispatch インターフェイスを要求する QueryInterface 呼び出しが行われました。ただし、このクラスには明示的な既定のインターフェイスがなく、COM に表示されないクラス 'System.Web.Security.MembershipUser' から派生しているため、QueryInterface 呼び出しは失敗します。これは、非 COM 可視基本クラスが COM バージョン管理規則によって制約されるのを防ぐために行われます。

ありがとう、サンディエゴで~ck

4

2 に答える 2

11

私は最近、あなたとはまったく関係のないシナリオでこのエラーを発見しました。

  1. [デバッグ]->[例外...]に移動します。
  2. 「ManagedDebuggingAssistants」を展開します
  3. NonComVisibleBaseClassThrownオプションのチェックを外します。
  4. [OK]をクリックします

ここに役立つかもしれないより多くの情報があります。

これを最新の状態に保つためだけに:

Visual Studio 2019:[デバッグ]メニューの[Windows]-> [例外設定]で、[例外設定]ウィンドウが開きます。そこで「ManagedDebuggingAssistants」を展開し、最後にNonComVisibleBaseClassのチェックを外します

于 2010-06-28T20:00:33.357 に答える
0

これは次のことを示しています: あなたのプロジェクトには、パブリック使用のキーで署名されていない COM ベースのオブジェクトが含まれています。

この場合の解決策は 2 つあります。

1- デバッガー設定から NonVisibleCome の選択をオフにします

2-オブジェクトのコード署名を見つけて再構築します。

于 2013-07-30T08:47:43.840 に答える