BC30451: Der Name "<Name>" wird nicht deklariert.

Eine Anweisung bezieht sich auf ein Programmierelement, aber der Compiler kann ein Element mit diesem genauen Namen nicht finden.

Fehler-ID: BC30451

So beheben Sie diesen Fehler

  1. Überprüfen Sie die Schreibweise des Namens in der verweisenden Anweisung. Bei Visual Basic wird die Groß-/Kleinschreibung nicht beachtet, aber jede andere Variante der Schreibweise wird als völlig anderer Name betrachtet. Beachten Sie, dass der Unterstrich (_) Teil des Namens und daher Teil der Schreibweise ist.

  2. Überprüfen Sie, ob Sie über den Memberzugriffsoperator (.) zwischen einem Objekt und seinem Element verfügen. Wenn Sie z. B. über ein TextBox Steuerelement mit dem Namen TextBox1verfügen, um auf seine Text Eigenschaft zuzugreifen, sollten Sie eingeben TextBox1.Text. Wenn Sie stattdessen eingeben TextBox1Text, haben Sie einen anderen Namen erstellt.

  3. Wenn die Schreibweise korrekt ist und die Syntax eines Objektelementzugriffs korrekt ist, überprüfen Sie, ob das Element deklariert wurde. Weitere Informationen finden Sie unter "Deklarierte Elemente".

  4. Wenn das Programmierelement deklariert wurde, überprüfen Sie, ob es sich im Bereich befindet. Wenn sich die verweisende Anweisung außerhalb des Bereichs befindet, in dem das Programmierelement deklariert wird, müssen Sie möglicherweise den Elementnamen qualifizieren. Weitere Informationen finden Sie unter Scope in Visual Basic.

  5. Wenn Sie keinen vollqualifizierten Typ oder Typ- und Membernamen verwenden (z. B. bezieht sich Ihr Code auf eine Eigenschaft anstelle MethodInfo.Name ), System.Reflection.MethodInfo.Namefügen Sie eine Imports-Anweisung hinzu.

  6. Wenn Sie versuchen, ein SDK-Formatprojekt (ein Projekt mit einer Datei *.vbproj, die mit der Zeile <Project Sdk="Microsoft.NET.Sdk">beginnt) zu kompilieren, und die Fehlermeldung bezieht sich auf einen Typ oder Member in der Microsoft.VisualBasic.dll Assembly, konfigurieren Sie die Anwendung so, dass sie mit einem Verweis auf die Visual Basic-Runtime-Bibliothek kompiliert wird. Standardmäßig ist eine Teilmenge der Bibliothek in Ihre Assembly in ein SDK-Formatprojekt eingebettet.

    Das folgende Beispiel kann z. B. nicht kompiliert werden, da die Microsoft.VisualBasic.CompilerServices.Conversions.ChangeType Methode nicht gefunden werden kann. Sie ist nicht in die Teilmenge der Visual Basic-Runtime eingebettet, die in Ihrer Anwendung enthalten ist.

    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
    

    Um diesen Fehler zu beheben, fügen Sie das <VBRuntime>Default</VBRuntime> Element dem Projektabschnitt <PropertyGroup> hinzu, wie die folgende Visual Basic-Projektdatei zeigt.

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

Siehe auch