通过


“<name>”不是“classname<”>的成员

你提供的成员不是类的成员。

错误 ID: BC30456

更正此错误

  1. 检查成员的名称以确保其准确无误。

  2. 使用类的实际成员。

  3. 如果尝试编译 SDK 样式项目(包含以行 <Project Sdk="Microsoft.NET.Sdk">开头的 *.vbproj 文件的项目),并且错误消息引用 Microsoft.VisualBasic.dll 程序集中的类型或成员,请将应用程序配置为使用对 Visual Basic 运行时库的引用进行编译。 默认情况下,库的子集嵌入在 SDK 样式项目中的程序集中。

    例如,以下示例无法编译,因为 Microsoft.VisualBasic.Devices.ComputerInfo.InstalledUICulture 找不到该属性。 它未嵌入应用程序随附的 Visual Basic 运行时子集中。

    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]
    

    若要解决此错误,请将元素添加到 <VBRuntime>Default</VBRuntime> 项目 <PropertyGroup> 部分,如以下 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>