Как устранить ошибку от изменения целевой версии проекта в решении? - PullRequest
1 голос
/ 06 февраля 2020

В проекте, над которым я сейчас работаю, в решении есть несколько проектов. Мне пришлось изменить целевую версию конкретного проекта, которая отвечает за обработку определенных API-интерфейсов проекта, для установки определенных пакетов Nuget.

Теперь при попытке запуска проекта появляются ошибки .dll, не найденные.

Как я могу решить эту проблему?
Мой проект основан на. net framework, и я использую Visual Studio 2017.

Моя фактическая целевая версия была. NET Framwork 4.5.1. Мне пришлось изменить его на 4.6.1, так как пакет, который я пытался установить, - IBM.Watson.NaturalLanguageUnderstanding.v1 - версия 4.2.1.

Ошибки выглядят следующим образом:

Файл метаданных 'location \ ProjectName.dll' не найден.

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

Моя настоящая целевая версия была. NET Framwork 4.5.1. Мне пришлось изменить его на 4.6.1, поскольку пакет, который я пытался установить, - пакет IBM.Watson.NaturalLanguageUnderstanding.v1 -Version 4.2.1.

Я воссоздал проблему, пытаясь установить nuget в новом консольном приложении, предназначенном для .netframework 4.6.1, и это не удалось

В этом и заключается проблема, IBM Watson NaturalLanguageUnderstanding совместима с .NETStandard 2.0 Specification, что означает, что вам нужно в идеале нацелиться на 4.6.1 (* 2), но здесь есть подвох (как объяснено здесь MSDN )

enter image description here




2 способа решить эту проблему

  • Target .NetFramework 4.7.1 в соответствии с рекомендациями MSDN выше ИЛИ
  • Если вы хотите использовать 4.6.1, вам нужно добавить это в ваш файл .CSPROJ
<PropertyGroup>
     .
     .
  <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
</PropertyGroup>
0 голосов
/ 18 марта 2020

Чтобы решить проблемы, измените целевые рамки проектов, которые зависят от проекта, для которого была изменена целевая структура. В большинстве случаев проблем не будет, поскольку Microsoft обеспечивает обратную совместимость. Могут быть проблемы со сторонними пакетами NuGet. Кроме того, при развертывании могут возникать некоторые ссылочные ошибки.

...