컴파일러 오류 CS1061

'type'은 'name'에 대한 정의를 포함하지 않으며 'type' 형식의 첫 번째 인수를 수락하는 액세스 가능한 확장 메서드 'name'을 찾을 수 없습니다(using 지시문 또는 어셈블리 참조가 누락되었나요?).

이 오류는 메서드를 호출하거나 존재하지 않는 클래스 멤버에 액세스하려고 할 때 발생합니다.

Example

다음 예제에서는 메서드가 없으므로 Person CS1061을 DisplayName 생성합니다. 호출 WriteName되는 메서드가 있습니다. 아마도 이 소스 코드의 작성자가 작성하려는 의도일 수 있습니다.

public class Person
{
    private string _name;

    public Person(string name) => _name = name;

    // Person has one method, called WriteName.
    public void WriteName()
    {
        System.Console.WriteLine(_name);
    }
}

public class Program
{
    public static void Main()
    {
        var p = new Person("PersonName");

        // The following call fails because Person does not have
        // a method called DisplayName.
        p.DisplayName(); // CS1061
    }
}

이 오류를 해결하려면

  • 멤버 이름을 올바르게 입력했는지 확인합니다.
  • 이 클래스를 수정할 수 있는 액세스 권한이 있는 경우 누락된 멤버를 추가하고 구현할 수 있습니다.
  • 이 클래스를 수정할 수 있는 액세스 권한이 없는 경우 확장 메서드를 추가할 수 있습니다.
  • 액세스하려는 멤버가 있어야 하지만 존재하지 않는 경우 필요한 NuGet 패키지가 누락되었을 수 있습니다. NuGet.org 검색하여 누락된 멤버가 포함된 패키지를 찾습니다.

참고하십시오