2012-10-05 47 views
1

当打开包含Visio 2013预览图形控件的窗体时,Visual Studio 2012崩溃。 (Microsoft Visio 15.0绘图控制 - Com组件)。Visio 2013预览Windows窗体应用程序中的图形控件崩溃

重现此问题的步骤。

  1. 打开的Visual Studio 2012

  2. 创建一个新的Windows窗体应用程序(C#)

  3. 添加COM组件的Microsoft Visio 15.0绘图控制工具箱。

  4. 在Form2.cs上放置Visio绘图控件[Design]。

  5. 保存所有文件,项目和解决方案。

  6. 在Visual Studio 2012 IDE中关闭Form1.cs [Design]。

  7. 双击解决方案资源管理器中的Form1.cs以编辑窗体[Design]视图。

  8. Visual Studio Application此时崩溃。

这是Visio 2013 Preview中的一个已知错误。

在VB6应用程序中使用Visio 2013图形控件也会产生与&显示的H80004005(-2147467259)错误消息类似的结果。

我们的产品在VB6应用程序中使用Visio 2013控件。这也是Visual Studio 2012中的一个问题。

发生了什么事情的任何想法?

回答

2

这确实是一个已知的bug:见http://connect.microsoft.com/VisualStudio/feedback/details/766229/visio-2013-preview-drawing-control-on-a-windows-forms-application-crashes

我能想出迄今最好的解决方法就是实例化唯一的代码绘制控制。换一种说法。不要将它从IDE中的工具箱拖到表单(等)上,而只是在代码中创建并实例化控件。这样,控件就不会出现在GUI窗体编辑器中,并且它不会冻结您的Visual Studio实例。

如果您不确定如何操作,可以将其暂时拖到窗体中,并从FormName.Designer.cs(或.vb)文件中提取控件的相关代码。

请注意,我的经验仅限于VS2012。我不确定你是否可以在VB6中使用控件(不要安装它来测试)。

+0

是的,这是我在connect.microsoft.com上的文章。感谢VS2012的工作。我还没有尝试过。要等到RC,看看它是否修复。 –

0
Option Explicit 

Private WithEvents moo As Visocxctl.DrawingControl 

Private Sub Command1_Click() 
    Set moo = Form1.Controls.Add("VisOcx.DrawingControl.1", "VisioRuntime") 
    moo.Left = 0 
    moo.Top = 0 
    moo.Visible = True 


End Sub 
0

尝试以下解决方法: Visio Drawing Control Fails in Visual Studio 2012。 将Office14替换为Office15 for Visio 2013.我可以在设计时成功删除控件并运行示例窗体窗体应用程序。在使用任何版本的Visio绘图控件时,这是VS2012中的一个已知错误。

相关问题