Ler em inglês

Partilhar via


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

O membro que você forneceu não é um membro da classe.

ID de erro: BC30456

Para corrigir este erro

  1. Verifique o nome do membro para garantir que está correto.

  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 tempo de execução do Visual Basic. Por padrão, um subconjunto da biblioteca é incorporado em seu assembly em um projeto no estilo SDK.

    Por exemplo, o exemplo a seguir falha ao compilar porque a Microsoft.VisualBasic.Devices.ComputerInfo.InstalledUICulture propriedade não pode ser encontrada. Ele não está incorporado no subconjunto do Visual Basic Runtime incluído com seu aplicativo.

    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 <VBRuntime>Default</VBRuntime> elemento à seção de projetos <PropertyGroup> , como mostra o seguinte arquivo de projeto do 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>