c# - 扩展用户控件后,Visual Studio 在设计模式下被阻止

标签 c# visual-studio-2010 user-controls crash designmode

我在 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.
        }
    }
}

我对此没有任何问题,它在设计模式下打开没有任何问题。但是我创建了一个扩展到第一个用户控件的新用户控件,如下所示:

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 的第二个实例,然后在第一个“调试 --> 附加到进程 --> devenv”上,我在 Load 方法和第二个实例的两个构造函数上放置了一个断点。结果:两个实例都被完全阻止。

有人能帮帮我吗?

非常感谢您!

最佳答案

好的,我找到问题了。

设计者执行了一些代码,该代码导致应用程序崩溃。它在 try-catch 中,在 catch 中,我使用尝试加载加密文件的方法记录了错误:Directory.GetFiles(Application.StartupPath, "*.xml")。问题是 Application.StartupPath 不是我的应用程序路径,而是“C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Microsoft.Data.ConnectionUI.xml”。所以,当我试图解密它时,它抛出了另一个异常,它是用相同的方法记录的……所以无限循环!

关于c# - 扩展用户控件后,Visual Studio 在设计模式下被阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8518503/

相关文章:

debugging - vsjitdebugger.exe 建议一个新实例,忽略已经运行的实例 - 怎么办?

C++ 程序在 VC++ 2010 中编译,但在 Visual C++ 6.0 中不编译

c# - File.Move 前面有 File.Delete 时失败

c# - 私有(private)集或私有(private)成员?

c# - 模拟用户操作以防止系统被视为空闲的最简单方法

asp.net - Visual Studio 2010 自动格式化 ASPX 弊病

c# - 查找控件的直接祖先/父级

wpf - "Pushed"按下按钮的效果

c# - 从其父页面调用 UserControl 方法

c# - .net 安装程序在安装时添加 mysql 数据库表