BC30451: No se ha declarado el nombre "<name>"
Una instrucción hace referencia a un elemento de programación, pero el compilador no encuentra un elemento con ese nombre exacto.
Identificador de error: BC30451
Compruebe que el nombre de la instrucción de referencia esté bien escrito. Visual Basic no distingue mayúsculas y minúsculas, pero cualquier otra variación en la ortografía se considera un nombre completamente diferente. Tenga en cuenta que el carácter de subrayado (
_
) es parte del nombre y, por tanto, parte de la ortografía.Compruebe que tiene el operador de acceso a miembro (
.
) entre un objeto y su miembro. Por ejemplo, si tiene un control TextBox denominadoTextBox1
, para tener acceso a su propiedad Text debe escribirTextBox1.Text
. Si en su lugar escribeTextBox1Text
, ha creado un nombre diferente.Si la ortografía es correcta y la sintaxis de cualquier acceso a miembro de objeto es correcta, compruebe que se declaró el elemento. Para más información, consulte Elementos declarados.
Si se declaró el elemento de programación, compruebe que está dentro del ámbito. Si la instrucción de referencia está fuera de la región que declara el elemento de programación, es posible que deba calificar el nombre del elemento. Para obtener más información, consulta Scope in Visual Basic.
Si no usa un tipo completo o un nombre de miembro y tipo (por ejemplo, el código hace referencia a una propiedad como
MethodInfo.Name
en lugar deSystem.Reflection.MethodInfo.Name
), agregue una instrucción Imports.Si intenta compilar un proyecto de estilo SDK (un proyecto con un archivo *.vbproj que comienza con la línea
<Project Sdk="Microsoft.NET.Sdk">
) y el mensaje de error hace referencia a un tipo o miembro del ensamblado Microsoft.VisualBasic.dll, configure la aplicación para compilarla con una referencia a la biblioteca en tiempo de ejecución de Visual Basic. De manera predeterminada, un subconjunto de la biblioteca se inserta en el ensamblado en un proyecto de estilo SDK.Por ejemplo, no se puede compilar el ejemplo siguiente porque no se encuentra el método Microsoft.VisualBasic.CompilerServices.Conversions.ChangeType. No está insertado en el subconjunto del tiempo de ejecución de Visual Basic que se incluye en la aplicación.
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 solucionar este error, agregue el elemento
<VBRuntime>Default</VBRuntime>
a la sección<PropertyGroup>
de los proyectos, tal como se muestra en el archivo del proyecto de Visual Basic siguiente.<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>
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: