Lire en anglais

Partager via


'<name>' n’est pas membre de '<classname>'

Le membre que vous avez fourni n’est pas membre de la classe.

ID d’erreur : BC30456

Pour corriger cette erreur

  1. Vérifiez que le nom du membre est correct.

  2. Utilisez un membre réel de la classe.

  3. Si vous tentez de compiler un projet de style SDK (un projet avec un fichier *.vbproj qui commence par la ligne <Project Sdk="Microsoft.NET.Sdk">), et que le message d’erreur fait référence à un type ou à un membre dans l’assembly Microsoft.VisualBasic.dll, configurez votre application pour compiler avec une référence à la bibliothèque Visual Basic Runtime. Par défaut, un sous-ensemble de la bibliothèque est incorporé dans votre assembly dans un projet de style SDK.

    Par exemple, l’exemple suivant ne parvient pas à compiler, car la propriété Microsoft.VisualBasic.Devices.ComputerInfo.InstalledUICulture est introuvable. Elle n’est pas incorporée dans le sous-ensemble du runtime Visual Basic inclus dans votre application.

    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]
    

    Pour résoudre cette erreur, ajoutez l’élément <VBRuntime>Default</VBRuntime> à la section<PropertyGroup> du projet, comme le montre le fichier projet Visual Basic suivant.

    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>