XAML デザイナーでプロジェクト コードをデバッグまたは無効化するDebugging or Disabling Project Code in XAML Designer

ハンドルされない例外が XAML デザイナーで起こる原因の多くは、プロジェクト コードがアクセスしようとするプロパティまたはメソッドが、デザイナーでアプリケーションを実行するときに、返す値や動作方法が変わることにあります。In many cases, unhandled exceptions in the XAML designer can be caused by project code attempting to access properties or methods which return different values or work in different ways when your application is running in the designer. Visual Studio の別のインスタンスでプロジェクト コードをデバッグしてこれらの例外を解決するか、デザイナーでプロジェクトのコードを無効にして、一時的に例外を回避することができます。You can resolve these exceptions by debugging the project code in another instance of Visual Studio, or temporarily prevent them by disabling project code in the designer.

プロジェクト コードには次のものが含まれます。Project code includes:

  • カスタム コントロールおよびユーザー コントロールCustom controls and user controls

  • クラス ライブラリClass libraries

  • 値コンバーターValue converters

  • プロジェクト コードから生成されるデザイン時のデータに対するバインドBindings against design time data generated from project code

    プロジェクト コードが無効になると、Visual Studio は、たとえば、データが使用できなくなったバインドのプロパティ名などのプレースホルダーや、実行されなくなったコントロールのプレースホルダーを表示します。When project code is disabled, Visual Studio will show placeholders such as the name of the property for a binding where the data is no longer available; or a placeholder for a control which is no longer running.

    ハンドルされない例外のダイアログUnhandled exception dialog

プロジェクト コードが例外の原因かどうかを判断するにはTo determine if project code is causing an exception

  1. ハンドルされない例外のダイアログで、 [ここをクリックして、デザイナーを再読み込み] リンクを選びます。In the unhandled exception dialog, choose the Click here to reload the designer link.

  2. メニュー バーで、 [デバッグ][デバッグ開始] を選んでアプリケーションを実行します。On the menu bar choose Debug, Start Debugging to build and run the application.

    アプリケーションがビルドされ、正常に実行される場合は、デザイナーで実行されているプロジェクト コードによってデザイン時例外が発生する可能性があります。If the application builds and runs successfully, the design-time exception may be caused by your project code running in the designer.

デザイナーで実行されているプロジェクト コードをデバッグするにはTo debug project code running in the designer

  1. ハンドルされない例外のダイアログで、 [ここをクリックしてプロジェクト コードの実行を無効にし、デザイナーを再読み込み] リンクを選びます。In the unhandled exception dialog, choose the Click here to disable running project code and reload designer link.

  2. Windows タスク マネージャーで、 [タスクの終了] ボタンを選び、現在実行している Visual Studio XAML デザイナーのすべてのインスタンスを閉じます。In the Windows Task Manager, choose the End Task button to close any instances of the Visual Studio XAML Designer that are currently running.

    TaskManager の XAML デザイナー インスタンスXAML designer instances in TaskManager

  3. Visual Studio で、デバッグするコードまたはコントロールを含む XAML ページを開きます。In Visual Studio, open the XAML page which contains the code or control you want to debug.

  4. Visual Studio の新しいインスタンスを開き、プロジェクトの 2 番目のインスタンスを開きます。Open a new instance of Visual Studio, and then open a second instance of your project.

  5. プロジェクト コードにブレークポイントを設定します。Set a breakpoint in your project code.

  6. Visual Studio の新しいインスタンスのメニュー バーで、 [デバッグ][プロセスにアタッチ]を選びます。In the new instance of Visual Studio, on the menu bar, choose Debug, Attach to Process.

  7. [プロセスにアタッチ] ダイアログの [選択可能なプロセス] 一覧で、 XDesProc.exeを選び、 [アタッチ] ボタンを選びます。In the Attach to Process dialog, in the Available Processes list, choose XDesProc.exe, and then choose the Attach button.

    XAML デザイナー プロセスThe XAML designer process

    これは、Visual Studio の最初のインスタンスの XAML デザイナーの手順です。This is the process for the XAML designer in the first instance of Visual Studio.

  8. Visual Studio の最初のインスタンスのメニュー バーで、 [デバッグ][デバッグ開始]を選びます。In the first instance of Visual Studio, on the menu bar choose Debug, Start Debugging.

    デザイナーで実行しているコードにステップ インできます。You can now step into your code which is running in the designer.

デザイナーでプロジェクト コードを無効にするにはTo disable project code in the designer

  • ハンドルされない例外のダイアログで、 [ここをクリックしてプロジェクト コードの実行を無効にし、デザイナーを再読み込み] リンクを選びます。In the unhandled exception dialog, choose the Click here to disable running project code and reload designer link.

  • あるいは、XAML デザイナーのツール バーで、 [プロジェクト コードを無効にする] ボタンを選びます。Alternatively, on the toolbar in the XAML designer, choose the Disable project code button.

    [プロジェクト コードの無効化] ボタンThe Disable Project Code button

    もう一度ボタンを切り替えて、プロジェクト コードを再び有効にできます。You can toggle the button again to re-enable project code.

    注意

    ARM または X64 プロセッサがターゲットのプロジェクトの場合、Visual Studio は、デザイナーでプロジェクト コードを実行できないため、デザイナーで [プロジェクト コードを無効にする] ボタンは無効です。For projects that target ARM or X64 processors, Visual Studio cannot run project code in the designer, so the Disable project code button is disabled in the designer.

  • どちらかのオプションを実行するとデザイナーは再度読み込み、関連付けられているプロジェクトのすべてのコードを無効にします。Either option will cause the designer to reload, and will then disable all code for the associated project.

    注意

    プロジェクト コードを無効にすると、デザイン時データが失われることがあります。Disabling project code can lead to a loss of design time data. 別の方法は、デザイナーで実行されているコードをデバッグすることです。An alternative is to debug the code running in the designer.

参照See Also

Visual Studio および Blend for Visual Studio での XAML の設計Designing XAML in Visual Studio and Blend for Visual Studio