Compartilhar via


BC30451: o nome '<name>' não é declarado

Uma instrução refere-se a um elemento de programação, mas o compilador não pode encontrar um elemento com esse nome exato.

ID do erro: BC30451

Para corrigir este erro

  1. Verifique a ortografia do nome na instrução de referência. O Visual Basic não diferencia maiúsculas de minúsculas, mas qualquer outra variação na ortografia é considerada um nome completamente diferente. Observe que o sublinhado (_) faz parte do nome e, portanto, parte da ortografia.

  2. Verifique se você tem o operador de acesso de membro (.) entre um objeto e seu membro. Por exemplo, se você tiver um TextBox controle nomeado TextBox1, para acessar sua Text propriedade, deverá digitar TextBox1.Text. Se, em vez disso, você digitar TextBox1Text, você criou um nome diferente.

  3. Se a ortografia estiver correta e a sintaxe de qualquer acesso de membro do objeto estiver correta, verifique se o elemento foi declarado. Para obter mais informações, consulte Elementos Declarados.

  4. Se o elemento de programação tiver sido declarado, verifique se ele está no escopo. Se a instrução de referência estiver fora da região declarando o elemento de programação, talvez seja necessário qualificar o nome do elemento. Para obter mais informações, consulte Escopo no Visual Basic.

  5. Se você não estiver usando um tipo totalmente qualificado ou um nome de tipo e membro (por exemplo, seu código se refere a uma propriedade como MethodInfo.Name em vez de System.Reflection.MethodInfo.Name), adicione uma instrução Imports.

  6. 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 o Microsoft.VisualBasic.CompilerServices.Conversions.ChangeType método não pode ser encontrado. Ele não está inserido no subconjunto do Runtime do Visual Basic incluído no aplicativo.

    Imports Microsoft.VisualBasic.CompilerServices
    
    Public Module Example
        Sub Main(args As String())
            Dim originalValue As String = args(0)
            Dim t As Type = GetType(Int32)
            Dim i As Int32 = Conversions.ChangeType(originalValue, t)
            Console.WriteLine($"'{originalValue}' --> {i}")
        End Sub
    End Module
    

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

    <Project Sdk="Microsoft.NET.Sdk">
      <ItemGroup>
          <Reference Include="Microsoft.VisualBasic" />
        </ItemGroup>
      <PropertyGroup>
        <VBRuntime>Default</VBRuntime>
        <OutputType>Exe</OutputType>
        <RootNamespace>vbruntime</RootNamespace>
        <TargetFramework>net472</TargetFramework>
      </PropertyGroup>
    
    </Project>
    

Consulte também