Auf Englisch lesen

Freigeben über


„<Name>“ ist kein Member von „<Klassenname>“.

Der angegebene Member gehört nicht der Klasse an.

Fehler-ID: BC30456

So beheben Sie diesen Fehler

  1. Überprüfen Sie den Namen des Members, um sicherzustellen, dass er korrekt ist.

  2. Verwenden Sie einen tatsächlichen Member der Klasse.

  3. Wenn Sie versuchen, ein Projekt im SDK-Stil zu kompilieren (ein Projekt mit einer VBPROJ-Datei, die mit der Zeile <Project Sdk="Microsoft.NET.Sdk"> beginnt), und die Fehlermeldung auf einen Typ oder Member in der Assembly „Microsoft.VisualBasic.dll“ verweist, konfigurieren Sie Ihre Anwendung so, dass sie mit einem Verweis auf die Visual Basic-Runtimebibliothek kompiliert wird. Standardmäßig ist eine Teilmenge der Bibliothek in Ihre Assembly in einem Projekt im SDK-Stil eingebettet.

    Im folgenden Beispiel kann beispielsweise keine Kompilierung erfolgen, da die Microsoft.VisualBasic.Devices.ComputerInfo.InstalledUICulture-Eigenschaft nicht gefunden werden kann. Sie ist nicht in die Teilmenge der Visual Basic-Runtime eingebettet, die in Ihrer Anwendung enthalten ist.

    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]
    

    Um diesen Fehler zu beheben, fügen Sie das <VBRuntime>Default</VBRuntime>-Element im Projektabschnitt <PropertyGroup> hinzu, wie in der folgenden Visual Basic-Projektdatei gezeigt.

    <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>