Ler em inglês

Compartilhar via


'<name>' não é membro de '<classname>'

O membro fornecido não é membro da classe.

ID do erro: BC30456

Para corrigir este erro

  1. Verifique o nome do membro para garantir que esteja preciso.

  2. Use um membro real da classe.

  3. Se você estiver tentando compilar um projeto no estilo SDK (um projeto com um arquivo *.vbproj que começa com a linha <Project Sdk="Microsoft.NET.Sdk">), e a mensagem de erro se referir a um tipo ou membro no assembly Microsoft.VisualBasic.dll, configure seu aplicativo para compilar com uma referência à Biblioteca de Runtime do Visual Basic. Por padrão, um subconjunto da biblioteca é inserido em seu assembly em um projeto no estilo SDK.

    Por exemplo, o exemplo a seguir não é compilado porque a propriedade Microsoft.VisualBasic.Devices.ComputerInfo.InstalledUICulture não pode ser encontrada. Ele não está inserido no subconjunto do Runtime do Visual Basic incluído no aplicativo.

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

    Para resolver esse erro, adicione o elemento <VBRuntime>Default</VBRuntime> à seção <PropertyGroup> de projetos, como mostra o arquivo de projeto do Visual Basic a seguir.

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