"<name>" nie jest członkiem "<classname>"

Podany członek nie jest członkiem klasy.

Identyfikator błędu: BC30456

Aby naprawić ten błąd

  1. Sprawdź nazwę członka, aby upewnić się, że jest ona dokładna.

  2. Użyj faktycznego członka klasy.

  3. Jeśli próbujesz skompilować projekt w stylu zestawu SDK (projekt z plikiem *.vbproj rozpoczynającym się od wiersza <Project Sdk="Microsoft.NET.Sdk">), a komunikat o błędzie odwołuje się do typu lub elementu członkowskiego w zestawie Microsoft.VisualBasic.dll, skonfiguruj aplikację do kompilowania z odwołaniem do biblioteki środowiska uruchomieniowego języka Visual Basic. Domyślnie podzbiór biblioteki jest osadzony w pliku wykonywalnym w projekcie w stylu SDK.

    Na przykład nie można skompilować poniższego przykładu Microsoft.VisualBasic.Devices.ComputerInfo.InstalledUICulture , ponieważ nie można odnaleźć właściwości. Nie jest osadzony w podzestawie środowiska uruchomieniowego Visual Basic dołączonego do aplikacji.

    Module Program
        Sub Main()
            Console.WriteLine($"Installed UI Culture: {My.Computer.Info.InstalledUICulture}")
        End Sub
    End Module
    ' Compilation produces the following output:
    '    c:\Projects\ComputerInfo\Program.vb(3,52): error BC30456: 'Computer' is not a member of 'bc30456.My'.
    '   [c:\Projects\ComputerInfo\bc30456.vbproj]
    

    Aby rozwiązać ten błąd, dodaj <VBRuntime>Default</VBRuntime> element do sekcji projektów <PropertyGroup> , jak pokazano w poniższym pliku projektu Visual Basic.

    <Project Sdk="Microsoft.NET.Sdk">
      <ItemGroup>
        <Reference Include="Microsoft.VisualBasic" />
      </ItemGroup>
      <PropertyGroup>
        <VBRuntime>Default</VBRuntime>
        <OutputType>Exe</OutputType>
        <RootNamespace>bc30456</RootNamespace>
        <TargetFramework>net472</TargetFramework>
      </PropertyGroup>
    </Project>