source

Visual Studio에서 WPF Initialize Component 메서드를 찾을 수 없는 이유는 무엇입니까?

manysource 2023. 5. 5. 09:53

Visual Studio에서 WPF Initialize Component 메서드를 찾을 수 없는 이유는 무엇입니까?

이것은 매우 이상합니다.

다음과 같은 XAML 파일이 있습니다.

<Window
    x:Name="window"
    x:Class="ix.Production.Title"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Title" Height="768" Width="1024"
    Loaded="window_Loaded">

    <Window.Resources>
   etc...

그리고 다음과 같이 보이는 제 코드 옆에...

using System;
using System.Windows;
using System.Windows.Media.Animation;
using System.Threading;

namespace ix.Production
{
    public partial class Title : Window
    {
        public Title()
        {
           InitializeComponent();
        }
    ....

Visual Studio에서 Initialize 구성 요소가 "현재 컨텍스트에 없습니다"라고 주장하기 때문에 이 코드는 컴파일을 거부합니다.

이 문제를 어떻게 해결할 수 있습니까?

XAML 컨트롤/창 등을 복사하여 붙여넣을 때 이러한 현상이 발생하는 것을 본 적이 있습니다.InitializeComponent 메서드는 자동으로 생성되는 해당 .g.cs 파일에 있습니다.제 경우, 복사 붙여넣기 후 (속성 창에서) XAML에 대한 빌드 작업이 "리소스"로 변경되었습니다."페이지"로 바꿨더니 잘 작동하기 시작했습니다.

이것이 도움이 되길 바랍니다.

이 작업에 도움이 된 스레드는 'InitializeComponent'라는 이름이 존재하지 않습니다.

XAML의 설명:

x:Class="ix.Production.Title"

실제 수업이 있는 동안에ix.Outage.Title를 XAML 선언나클다이동으로 합니다.ix.Production네임스페이스입니다.

간과하기 : 매우간지간쉽기습다니하과만단하▁so다쉽니습.MainWindowx:Class"로 설정되었습니다.MainWindow을 해야 할 때.namespace.MainWindow(x:Class="namespace.MainWindow" ) 이작수지않으면되행,MainWindow.g.xaml, 파에네임블포않함호다다에 대한 호출이 .InitializeComponent()MainWindow의 생성자가 작동하지 않습니다.

이것은 분명히 윌렘의 문제에 대한 해결책은 아니지만, 다른 해결책들이 너무 많이 나열되어 있기 때문에 여기에 올렸습니다.이것이 그들의 문제를 고치려고 할 때 이 게시물에 걸려 넘어지는 다른 누군가에게 도움이 되기를 바랍니다.

네임스페이스가 일치하지 않습니다.

x:Class="ix.Production.Title"
namespace ix.Outage { ...

일반적으로 사용자 지정 제어 클래스의 이름을 변경하거나 클래스의 네임스페이스를 변경할 때 이 문제가 발생합니다.Visual Studio의 리팩터링을 사용하지 않는 경우 XAML 및 C# 파일 모두에서 이름을 수동으로 변경해야 합니다.

리팩토링은 클래스 이름을 변경할 때만 사용할 수 있으며 네임스페이스 이름 변경의 경우 수동으로 수행해야 합니다.

위해서InitializeComponent.[Project Folder]\obj\Debug\<class_name.g.cs>.

Visual Studio 2008의 문제점으로 보입니다.

새 파일(예: Title2)을 만들고 코드를 복사/붙여 XAML을 붙여넣은 다음 'Title'을 모두 'Title2'로 변경하면 모든 것이 다시 정상적으로 작동합니다.

PCL(내 데이터 클래스가 포함된)을 솔루션에 추가하는 순간 코드 뒤에 있는 코드에서 Initialize Component 및 기타 XAML 관련 UI 비트를 찾을 수 없습니다.

:|

하지만 PCL을 제거하면..다시 찾을 수 있습니다.

찾든 안 찾든 상관없이, 저는 여전히 컴파일할 수 있습니다.코드를 입력하면 자동으로 완료할 수 없습니다.

솔루션에 PCL 프로젝트가 포함되어 있습니까?(이 문제를 해결하는 방법을 아직 모릅니다.

Visual Studio 2010 샘플 프로젝트에서 수동으로 Visual Studio 2008으로 되돌린 것과 동일한 문제가 있었습니다.프로젝트의 목표 프레임워크를 로 설정하는 것을 잊었습니다.NET Framework 3.5.원래 Visual Studio 2010 프로젝트에서 4.0으로 설정된 Visual Studio 2008으로 되돌린 프로젝트에서는 비어 있었습니다.

프로젝트의 대상 프레임워크를 설정하려면 프로젝트 속성으로 이동하여 응용 프로그램이라는 첫 번째 탭에 액세스한 다음 을 선택합니다.대상 프레임워크 드롭다운에 NET Framework 3.5가 표시됩니다.

물론 Visual Studio에서 오류를 내거나 적어도 목표 프레임워크를 설정하지 않았다는 경고를 주는 것을 선호하지만, Visual Studio에서 개발 중인 부분입니다.

Visual Studio 2008 WPF 프로젝트 속성

클래스가 부분적이므로 제목 클래스의 다른 부분(예: 구성 요소 초기화 방법)이 포함된 다른 파일이 있어야 합니다.해당 파일을 찾아서 해당 파일의 네임스페이스가 클래스의 다른 부분을 포함하는 파일의 네임스페이스와 동일한지 확인합니다.

저는 여기서 같은 문제로 고심하고 있었습니다.제가 한 일은 디버그 폴더 아래에 생성된 모든 파일을 삭제한 다음 솔루션을 재구축하는 것이었습니다.

안녕하세요, 페트루스

저는 msdn에서 프로젝트 샘플을 받았을 때 같은 문제를 발견했습니다.문제는 그것이 4.0 프로젝트였고 나는 내 시스템에 4.0이 없었고, 참조된 dll 몇 개가 누락되었다는 것입니다(시스템).xaml 및 다른 하나)를 제거하고 컴파일을 시도했지만 항상 초기화 구성 요소 메서드를 찾을 수 없습니다.프로젝트 속성으로 들어가 목표 프레임워크를 3.5로 변경했고 더 이상 불평하지 않습니다.

참고로 오늘 Visual Studio 2008 솔루션을 Visual Studio 2010으로 마이그레이션한 후에도 동일한 문제가 발생했습니다.된 것 .Target Framework(프로젝트 특성):이제 설정이 비어 있습니다!?

설정.NET Framework 3.5문제를 해결했습니다.

Visual Studio에서 XAML 파일을 복사/붙여넣거나 솔루션 내의 한 프로젝트에서 다른 프로젝트로 이동할 때 "빌드 작업"을 임의 작업으로 설정하기 때문에 이러한 문제가 발생했습니다.

솔루션:XAML에 대해 "빌드 작업"이 페이지로 설정되어 있는지 확인합니다.

이것이 당신에게도 같은 경우라면 도움이 되기를 바랍니다.

네임스페이스가 모두 올바르면 대상 플랫폼을 x86에서 x64로 변경하거나 그 반대로 변경하고 프로젝트를 재구축하는 경우가 많습니다.

언급URL : https://stackoverflow.com/questions/954861/why-cant-visual-studio-find-my-wpf-initializecomponent-method