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


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

Область применения: Visual Studio

В этом разделе описываются ошибки MSBuild , которые могут возникать из-за проблем со ссылкой и способов устранения этих ошибок.

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

Вы можете использовать в приложениях ссылки на проекты или сборки, предназначенные для других версий .NET. Например, вы можете создать приложение, предназначенное для .NET 6, которое ссылается на сборку, предназначенную для .NET Core 3.1. Однако нельзя задать ссылку в проекте, предназначенном для более ранней версии .NET, для проекта или сборки, предназначенных для .NET 6. Ниже приведен пример ошибки, которую можно увидеть в этом случае:

error NU1201: Project ClassLibrary-NET6 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1). Project ClassLibrary-NET6 supports: net6.0 (.NETCoreApp,Version=v6.0)
2>Done building project "ClassLibrary-NET31.csproj" -- FAILED.

Чтобы устранить эту ошибку, убедитесь, что ваше приложение предназначено для версии .NET, совместимой с версией, для которой предназначены проекты или сборки, на которые ссылается ваше приложение.

Перенацеливать проект на другую версию .NET

Если вы измените целевую версию .NET для своего приложения, Visual Studio изменит некоторые ссылки, но вам, возможно, придется обновить некоторые ссылки вручную. Например, одна из ранее упомянутых ошибок может возникнуть, если вы измените приложение, чтобы оно предназначалось для .NET Core 3.1, и это приложение имеет ссылки, ресурсы или параметры, зависящие от .NET 6.

Снимок экрана: изменение целевой платформы в Visual Studio.

Обновление ссылок в app.config

Чтобы обойти параметры приложения в платформа .NET Framework приложениях, выполните следующие действия.

  1. Откройте обозреватель решений.
  2. Выберите " Показать все файлы", а затем измените файл app.config в редакторе XML Visual Studio.
  3. Измените версию в параметрах, чтобы она соответствовала соответствующей версии .NET. Например, вы можете изменить значение версии с 4.0.0.0 на 2.0.0.0.

Аналогичным образом, чтобы приложение, которое добавило ресурсы, выполните следующие действия:

  1. Откройте обозреватель решений.
  2. Выберите "Показать все файлы".
  3. Разверните раздел "Мой проект " (Visual Basic) или "Свойства " (C#), а затем измените файл Resources.resx в редакторе XML Visual Studio.
  4. Замените здесь значение версии с 4.0.0.0 на 2.0.0.0.

Обновление ресурсов

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

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

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

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

Затем замените их простой формой:

<Reference Include="System.ServiceModel" />

Примечание.

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

Ссылки