0

我正在使用 Visual Studio 2008,在尝试打开我的一个表单时收到以下错误消息:

在 ServiceModel 客户端配置部分中找不到名为“WSHttpBinding_ICommon”和合同“CommonWCF.ICommon”的端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此名称匹配的端点元素。

以及以下堆栈跟踪

在 System.ComponentModel.ReflectPropertyDescriptor.SetValue(对象组件,对象值)在 System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement(IDesignerSerializationManager 管理器,CodeAssignStatement 语句,CodePropertyReferenceExpression propertyReferenceEx,Boolean reportError)在 System.ComponentModel.Design.Serialization.CodeDomSerializerBase .DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)

然而,我的 App.Config 中确实有建议的元素,并且一切都在运行时运行。但是,每当我尝试打开表单时,我都会收到此消息,这还不错,因为我可以忽略它,但是当我执行许多控件(右侧和/或底部带有锚点的控件)时,它们会移动并且我的网格会自动从我之前删除的数据源中重新获得所有列(列)。

有什么建议/解决方法吗?这是 Visual Studio 2008 的错误吗?

4

4 回答 4

2

还有另一种方法可以在设计时调试 devenv 进程(visual studio),就像这里所说 的

这有助于在设计模式下打开表单引发异常(即向用户显示错误)。

以下是那篇文章的摘要:

  1. 打开一个新的 Visual Studio 实例。
  2. 打开任何源文件。这是必需的,以便 Visual Studio 允许您附加到进程。
  3. 将新的 Visual Studio 实例附加到第一个实例。Visual Studio 进程称为 devenv.exe。您只需要附加到托管代码。
  4. 将 Visual Studio 设置为中断公共语言运行时异常 - 引发和用户处理。关闭有问题的表单,然后重新打开它。

这应该会导致在 Visual Studio 的第二个实例中的代码中捕获异常!

于 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 回答
0

我曾经在构造函数初始化期间尝试进行数据库调用的表单中遇到类似的错误。

不幸的是,Component.DesignMode 直到构造函数完成后才被设置!

于 2009-01-13T00:09:41.487 回答