Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Оператор ссылается на элемент программирования, но компилятор не может найти элемент с таким точным именем.
Идентификатор ошибки: BC30451
Исправление ошибки
Проверьте правильность написания в ссылающемся операторе. Visual Basic не учитывает регистр, но любой другой вариант орфографии считается совершенно другим именем. Обратите внимание, что символ подчеркивания (
_
) является частью имени и, следовательно, частью орфографии.Убедитесь, что у вас есть оператор доступа к члену (
.
) между объектом и его членом. Например, если у вас есть элемент управления TextBox с именемTextBox1
, то для доступа к его свойству Text следует ввестиTextBox1.Text
. Если вместо этого ввестиTextBox1Text
, будет создано другое имя.Если правописание правильно и синтаксис доступа к любому члену объекта правильный, убедитесь, что элемент объявлен. Дополнительные сведения см. в разделе "Объявленные элементы".
Если элемент программирования объявлен, проверка, что он находится в область. Если оператор ссылки находится за пределами региона, объявляющего элемент программирования, может потребоваться указать имя элемента. Для получения дополнительной информации см. Scope in Visual Basic.
Если вы не используете полный тип или имя типа и члена (например, код ссылается на свойство, а
MethodInfo.Name
неSystem.Reflection.MethodInfo.Name
), добавьте инструкцию Import.Если вы пытаетесь скомпилировать проект в стиле SDK (проект с файлом *.vbproj, начинающимся с строки
<Project Sdk="Microsoft.NET.Sdk">
), а сообщение об ошибке ссылается на тип или член в сборке Microsoft.VisualBasic.dll, настройте приложение для компиляции со ссылкой на библиотеку среды выполнения Visual Basic. По умолчанию подмножество библиотеки встраивается в сборку в проект в стиле ПАКЕТА SDK.Например, следующий пример не может компилироваться, так как Microsoft.VisualBasic.CompilerServices.Conversions.ChangeType метод не найден. Он не внедрен в подмножество среды выполнения Visual Basic, включенной в приложение.
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
Чтобы устранить эту ошибку, добавьте
<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>vbruntime</RootNamespace> <TargetFramework>net472</TargetFramework> </PropertyGroup> </Project>