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.

    작업 관리자의 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의 새 인스턴스를 연 다음 프로젝트의 두 번째 인스턴스를 엽니다.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