Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un'istruzione fa riferimento a un elemento di programmazione, ma il compilatore non trova un elemento con quel nome esatto.
ID errore: BC30451
Per correggere l'errore
Controllare l'ortografia del nome nell'istruzione di riferimento. Visual Basic non fa distinzione tra maiuscole e minuscole, ma qualsiasi altra variante dell'ortografia viene considerata un nome completamente diverso. Si noti che il carattere di sottolineatura (
_
) fa parte del nome e quindi dell'ortografia.Assicurarsi di avere l'operatore di accesso ai membri (
.
) tra un oggetto e il relativo membro. Ad esempio, se è presente un controllo TextBox denominatoTextBox1
, per accedere alla relativa proprietà Text occorre digitareTextBox1.Text
. Se invece si digitaTextBox1Text
, viene creato un nome diverso.Se l'ortografia è corretta e la sintassi di qualsiasi accesso ai membri dell'oggetto è corretta, verificare che l'elemento sia stato dichiarato. Per altre informazioni, vedere Elementi dichiarati.
Se l'elemento di programmazione è stato dichiarato, verificare che sia incluso nell'ambito. Se l'istruzione di riferimento è all'esterno dell'area di dichiarazione dell'elemento di programmazione, è necessario qualificare il nome dell'elemento. Per altre informazioni, vedere Scope in Visual Basic.
Se non si usa un tipo completo o un tipo e un nome membro (ad esempio se il codice fa riferimento a una proprietà come
MethodInfo.Name
anzichéSystem.Reflection.MethodInfo.Name
), aggiungere un'istruzione Imports.Se si tenta di compilare un progetto in stile SDK (un progetto con un file *.vbproj che inizia con la riga
<Project Sdk="Microsoft.NET.Sdk">
) e il messaggio di errore fa riferimento a un tipo o a un membro nell'assembly Microsoft.VisualBasic.dll, configurare l'applicazione per la compilazione con un riferimento alla libreria di runtime di Visual Basic. Per impostazione predefinita, un subset della libreria è incorporato nell'assembly in un progetto in stile SDK.Ad esempio, l'esempio seguente non viene compilato perché non è possibile trovare il metodo Microsoft.VisualBasic.CompilerServices.Conversions.ChangeType. Non è incorporato nel subset di Visual Basic Runtime incluso nell'applicazione.
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
Per risolvere questo errore, aggiungere l'elemento
<VBRuntime>Default</VBRuntime>
alla sezione<PropertyGroup>
dei progetti, come illustrato nel file di progetto Visual Basic seguente.<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>