0

Visual Studio 2008 を使用していますが、フォームを開こうとすると次のエラー メッセージが表示されます。

ServiceModel クライアント構成セクションで、名前が 'WSHttpBinding_ICommon' でコントラクトが 'CommonWCF.ICommon' のエンドポイント要素が見つかりませんでした。これは、アプリケーションの構成ファイルが見つからなかったか、この名前に一致するエンドポイント要素が client 要素に見つからなかったためである可能性があります。

そして、次のスタックトレース

System.ComponentModel.ReflectPropertyDescriptor.SetValue (オブジェクト コンポーネント、オブジェクト値) で System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement (IDesignerSerializationManager マネージャー、CodeAssignStatement ステートメント、CodePropertyReferenceExpression propertyReferenceEx、ブール値の reportError) System.ComponentModel.Design.Serialization.CodeDomSerializerBase で.DeserializeAssignStatement (IDesignerSerializationManager マネージャー、CodeAssignStatement ステートメント) で System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement (IDesignerSerializationManager マネージャー、CodeStatement ステートメント)

それでも、 App.Config で提案された要素があり、実行時にすべてが機能します。ただし、フォームを開こうとするたびにこのメッセージが表示されます。これは無視できるのでそれほど悪くはありませんが、多くのコントロール (右側および/または下部にアンカーがあるもの) を実行すると、シフトされ、私のグリッドは、以前に削除した (列) データソースからすべての列を自動的に取り戻します。

提案/回避策はありますか? これは Visual Studio 2008 のバグですか?

4

4 に答える 4

2

ここで述べたように、設計時に devenv プロセス (ビジュアル スタジオ) をデバッグする別のアプローチがあり ます。

これは、デザイン モードでフォームを開くと例外がスローされる (つまり、ユーザーにエラーが表示される) 場合に役立ちました。

その記事の要約は次のとおりです。

  1. 新しい Visual Studio インスタンスを開きます。
  2. 任意のソース ファイルを開きます。これは、Visual Studio でプロセスにアタッチできるようにするために必要です。
  3. 新しい Visual Studio インスタンスを最初のインスタンスにアタッチします。Visual Studio プロセスは devenv.exe と呼ばれます。マネージド コードにアタッチするだけです。
  4. Visual Studio を設定して、共通言語ランタイムの例外 (スローおよびユーザー処理) で中断します。問題のあるフォームを閉じて、再度開きます。

これにより、Visual Studio の 2 番目のインスタンスで、コード内で例外がキャッチされるはずです。

于 2010-01-25T14:41:23.847 に答える
1

エンドポイントをどこで使用していますか? 本当に必要ですか、それとも実行時にのみ呼び出すことができますか? Component.DesignMode プロパティを使用して、エンドポイントへの呼び出しが行われないように、デザイン モードであるかどうかを判断できます。デザインタイム エクスペリエンスを完全にデバッグするには、この記事の手順に従ってください。

于 2009-01-13T00:05:53.757 に答える
1

私が使う

        if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
        {
            return;
        }

コンストラクターが InitializeComponent() 以外の処理を行う場合はコンストラクターと、ロード メソッドがある場合はその両方でデザイン モードをチェックします。

于 2009-07-14T01:23:59.377 に答える