Поделиться через


Устранение неполадок, связанных с настойкой для определенных версий платформы .NET Framework

Visual Studio позволяет распространять упрощенную среду выполнения .NET Framework, также называемую Клиентский профиль .NET Framework 4, которая является средой выполнения, включающей подмножество двоичных объектов, которые содержатся в .NET Framework 4. Клиентский профиль .NET Framework 4 позволяет распространять небольшую библиотеку .NET Framework для пользователей создаваемого приложения, чтобы они могли запускать это приложение, даже если в их системах не установлена полная версия .NET Framework 4.

Если приложение нацелено на определенный профиль, могут встретиться ошибки при попытке сослаться на сборку, не являющуюся частью этого профиля. Распространены следующие ошибки.

  • Имя типа или пространства имен "имя" не существует в пространстве имен "пространство имен". (Отсутствует ссылка на сборку?)

  • Тип "имя_типа" не определен.

  • Невозможно разрешить сборку "сборка". Сборка отсутствует в списке как часть профиля "профиль".

Эти ошибки могут быть результатом различных действий. В этом разделе представлено описание возможных причин ошибки и способов ее устранения.

Дополнительные сведения о Клиентский профиль .NET Framework 4 см. в разделах Профиль клиента .NET Framework и Практическое руководство. Указание конкретной версии или профиля платформы .NET Framework.

Ссылка на сборку, не включенную в клиентский профиль

Если приложение пытается сослаться на функцию, которая содержится в сборке или зависимой сборке, которая не включена в Клиентский профиль .NET Framework 4, может появится сообщение об ошибке во время выполнения Точный текст сообщения зависит от расположения функции, на которую создается ссылка. Чтобы снизить количество подобных ошибок, рекомендуется либо удалить неверную ссылку на сборку из проекта, либо настроить проект на обращение к полной версии .NET Framework 4 вместо библиотеки подмножества Клиентский профиль .NET Framework 4.

Ссылка на проект или сборку, предназначенные для другой версии платформы .NET Framework

Разработчики могут создавать приложения, которые ссылаются на проекты или сборки, предназначенные для других версий платформы .NET Framework. Например, если создать приложение, предназначенное для Клиентский профиль .NET Framework 4, этот проект может ссылаться на сборку, которая предназначена для платформы .NET Framework версии 2.0. Однако при создании проекта, предназначенного для более ранней версии .NET Framework, установка в этом проекте ссылки на проект или сборку для Клиентский профиль .NET Framework 4 или .NET Framework 4 невозможна. Чтобы устранить ошибку, убедитесь, что профиль, на который нацелено приложение, совместим с профилем, на который нацелены проекты или сборки, на которые ссылается приложение.

Перенаправление проекта в другую версии платформы .NET Framework

При изменении целевой для приложения версии платформы .NET Framework Visual Studio изменяет некоторые из его ссылок. При этом также требуется выполнить ряд действий вручную. Например, если создать приложение с ресурсами или параметрами, основанными на Клиентский профиль .NET Framework 4, а затем изменить это приложение, нацелив его на платформу .NET Framework 3.5 с пакетом обновления 1 (SP1), может отображаться одна из указанных ранее ошибок.

Для задания настроек приложения в обозревателе решений щелкните Показать все файлы, а затем измените файл app.config в XML-редакторе Visual Studio. Измените версию в настройках на версию платформы .NET Framework. Например, можно изменить настройку версии со значения "4.0.0.0" на значение "2.0.0.0". Аналогичным образом, для приложения с добавленными ресурсами в обозревателе решений щелкните Показать все файлы, разверните узел Мой проект (Visual Basic) или Свойства (C#), а затем измените файл Resources.resx в XML-редакторе Visual Studio. Измените версию со значения "4.0.0.0" на значение "2.0.0.0".

Если в приложении используются ресурсы, например значки или растровые изображения, или параметры, например строки подключения к данным, проблему можно устранить, удалив все элементы на странице Параметры в окне Конструктор проектов, а затем снова добавив требуемые параметры. Дополнительные сведения см. в разделе Страница "Параметры" в конструкторе проектов.

Выполнено переназначение проекта на другую версию платформы .NET Framework и не удается разрешить ссылки

В некоторых случаях при изменении целевой версии .NET Framework проекта возможно нарушение разрешения ссылок. Обычной причиной этого являются полные ссылки на сборки. Это можно исправить, удалив неразрешающиеся ссылки и заново добавив их в проект. Кроме того, можно вручную отредактировать файл проекта, чтобы удалить ссылки следующего вида:

<Reference Include="System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />

и заменить их ссылками простого вида:

<Reference Include="System.ServiceModel" />

Примечание

После закрытия и повторного открытия проекта необходима его перестройка, чтобы убедиться, что все ссылки правильно разрешены.

См. также

Задачи

Практическое руководство. Указание конкретной версии или профиля платформы .NET Framework

Основные понятия

Профиль клиента .NET Framework

Другие ресурсы

Указание конкретной версии или профиля платформы .NET Framework