2

Visual Studio 2010 (2008 から変換) にプロジェクトがあり、次のようにユーザー コントロールを作成しました。

namespace Common.Controls 
{
    public partial class Panel_BaseMap : UserControl 
    {
        public Panel_BaseMap()
        {
            //Some properties initialization here, just like = new X();
            InitializeComponent();
        }

        private void BaseMapPanel_Load(object sender, EventArgs e) {
            //Here, a new Thread is initialized and started.
        }
    }
}

これで問題はありません。デザインモードで問題なく開いています。しかし、次のように、最初のものに拡張する新しい UserControl を作成しました。

using Common.Controls;
namespace BC.controls 
{
    public partial class MapPanel : Panel_BaseMap 
    {
        public MapPanel()
        {
            InitializeComponent();
        }
    }
}

この新しいコントロールをデザイン モードで開こうとすると、Visual Studio が完全にブロックされ、応答しないため、強制的に閉じる必要があります。たとえば、次のような多くのことを試しました。

public MapPanel()
{
    if (!this.DesignMode)
        InitializeComponent();
}

まだブロックされています。Visual Studio の 2 番目のインスタンスを開き、最初のインスタンスで「デバッグ --> プロセスにアタッチ --> devenv」を開き、Load メソッドと 2 番目のインスタンスの両方のコンストラクターにブレークポイントを設定しました。結果: 両方のインスタンスが完全にブロックされました。

誰でも私を助けてもらえますか?

事前にどうもありがとうございました!

4

1 に答える 1

0

問題が見つかりました。

設計者によって一部のコードが実行され、そのコードによってアプリケーションがクラッシュしました。それは try-catch 内にあり、catch 内で、暗号化されたファイルをこれでロードしようとしたメソッドでエラーをログに記録しました: Directory.GetFiles(Application.StartupPath, "*.xml")。問題は、Application.StartupPath が私のアプリケーション パスではなく、「C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Microsoft.Data.ConnectionUI.xml」であることです。そのため、復号化しようとすると、同じメソッドでログに記録された別の例外がスローされました...無限ループ!

于 2012-01-31T09:16:47.207 に答える