1

Visual Studio 2012は、Visio2013プレビュー図面コントロールを含むフォームを開くとクラッシュします。(Microsoft Visio 15.0描画コントロール-Comコンポーネント)。

この問題を再現する手順。

  1. VisualStudio2012を開きます

  2. 新しいWindowsフォームアプリケーションを作成する(C#)

  3. COMコンポーネントMicrosoftVisio15.0図面コントロールをツールボックスに追加します。

  4. Form2.cs[Design]にVisioDrawingControlを配置します。

  5. すべてのファイル、プロジェクト、およびソリューションを保存します。

  6. Visual Studio2012IDEでForm1.cs[デザイン]を閉じます。

  7. ソリューションエクスプローラーでForm1.csをダブルクリックして、フォーム[デザイン]ビューを編集します。

  8. この時点でVisualStudioアプリケーションがクラッシュします。

これはVisio2013プレビューの既知のバグですか。

VB6アプリケーションでVisio2013描画コントロールを使用すると、同様の結果が生成され、&H80004005(-2147467259)エラーメッセージが表示されます。

当社の製品は、VB6アプリケーションでVisio2013コントロールを利用しています。これは、VisualStudio2012の問題でもあります。

何が起こっているのかについてのアイデアはありますか?

4

3 に答える 3

2

これは確かに既知のバグです。http://connect.microsoft.com/VisualStudio/feedback/details/766229/visio-2013-preview-drawing-control-on-a-windows-forms-application-crashesを参照してください。

これまでに思いついた最善の回避策は、コードのみで描画コントロールをインスタンス化することでした。言い換えると。IDEのツールボックスからフォーム(など)にドラッグするのではなく、コード内からのみコントロールを作成してインスタンス化します。そうすれば、コントロールはGUIフォームエディターに表示されず、VisualStudioインスタンスがフリーズしません。

その方法がわからない場合は、いつでも一時的にフォームにドラッグして、FormName.Designer.cs(または.vb)ファイルからコントロールに関連するコードを持ち上げることができます。

私の経験はVS2012のみです。VB6でコントロールを使用できるかどうかはわかりません(テスト用にインストールされていません)。

于 2012-10-18T14:22:23.050 に答える
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
于 2012-10-26T02:18:07.397 に答える
0

この回避策を試してください: VisioDrawingControlがVisualStudio2012で失敗します。Office14をOffice15forVisio 2013に置き換えます。設計時にコントロールを正常に削除し、サンプルのWindowsフォームアプリケーションを実行できました。これは、Visioの描画コントロールの任意のバージョンで作業する場合のVS2012の既知のバグです。

于 2012-11-28T19:14:07.230 に答える