Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предопределенный тип "type" не определен или не импортирован
Замечание
Разрешение этой ошибки зависит от того, используете ли вы современный проект в стиле SDK (.csproj файлы, начинающиеся с <Project Sdk="Microsoft.NET.Sdk">) или устаревших форматов проектов. Проекты в стиле SDK управляют ссылками среды выполнения автоматически с помощью <TargetFramework> свойства.
Основной причиной этой проблемы является то, что проект не может получить доступ к предопределенным типам из библиотеки среды выполнения .NET. В современных проектах SDK-стиля это обычно связано с неправильной или отсутствующей спецификацией <TargetFramework>. В устаревших проектах эта проблема вызвана неимпортированием mscorlib.dll, который определяет все пространство имен System. Это может быть вызвано одним из следующих причин:
Замечание
Это предупреждение сообщается только во время явных операций сборки или перестроения . Он не отображается во время ввода в интегрированной среде разработки в рамках диагностики IntelliSense. Это означает, что если вы исправите предупреждение с помощью поля или удалите его, предупреждение может сохраняться в списке ошибок, пока не создадите или перестроите проект еще раз.
Указан параметр NoStandardLib из компилятора командной строки. Параметр NoStandardLib предотвращает импорт mscorlib.dll. Используйте этот параметр, если вы хотите определить или создать пространство имен системы для конкретного пользователя.
Указан неверный mscorlib.dll.
Существует поврежденная установка среды выполнения общего языка (CLR) Visual Studio .NET или .NET Framework.
Оставшиеся компоненты из более ранней установки, несовместимые с последней установкой, остаются.
Чтобы устранить эту проблему, выполните одно из следующих действий:
Не указывайте параметр /nostdlib из компилятора командной строки.
Для современных проектов в стиле SDK убедитесь, что проект предназначен для правильной среды выполнения .NET. В вашем
.csprojфайле убедитесь, что свойство<TargetFramework>указывает на предназначенную среду выполнения.<PropertyGroup> <TargetFramework>net8.0</TargetFramework> </PropertyGroup>Для проектов с несколькими целевыми объектами используйте
<TargetFrameworks>(plural):<PropertyGroup> <TargetFrameworks>net8.0;net48</TargetFrameworks> </PropertyGroup>Для устаревших форматов проектов убедитесь, что проект ссылается на правильный mscorlib.dll.
Переустановите среду CLR .NET Framework (если предыдущие решения не решают проблему).
Перезагрузите проект в Visual Studio.
Закройте Visual Studio, удалите
objпапки изbinкаталога проекта, а затем снова откройте Visual Studio и перестроите проект.