Visual Studio在扩展用户控件后阻塞在设计模式上

本文关键字:设计模式 控件 Studio 扩展 用户 Visual | 更新日期: 2023-09-27 18:17:51

我有一个项目在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的第二个实例,然后在第一个"调试->附加到进程-> devvenv"上,我在第二个实例上的Load方法和两个构造函数上设置了一个断点。结果:两个实例完全阻塞。

有谁能帮帮我吗?

提前非常感谢!

Visual Studio在扩展用户控件后阻塞在设计模式上

好的,我找到问题了。

设计人员执行了一些代码,这些代码使应用程序崩溃。它是在一个try-catch中,在catch中,我用一个方法记录了这个错误,这个方法试图用这个来加载一个加密的文件:StartupPath"* . xml")。问题是应用程序。StartupPath不是我的应用程序路径,而是"C:'Program Files'Microsoft Visual Studio 10.0'Common7'IDE'Microsoft. data . connectionui .xml"。所以,当我试图解密它时,它抛出了另一个异常,这是用相同的方法记录的…无限循环!