Visual Studio VS2017 v15.9.3
Nuget v4.7.1.5393
Мы пытаемся перенести наш проект для использования Nuget PackageReference.При использовании packages.config Nuget правильно определяет, что пакет соответствует целевой структуре проекта.Но когда мы пытаемся перейти на PackageReference, Nuget выдает ошибку, что пакет не поддерживает целевую платформу.
Packages.config: package id = "xxx.yyy" version = "7.7.7" targetFramework = "net462 "
Ошибки при попытке использовать PackageReference:
NU1202: Пакет xxx.yyy 7.7.7 не совместим с net462 (.NETFramework, Version = v4.6.2).Пакет xxx.yyy 7.7.7 не поддерживает никаких целевых структур.
NU1202: Пакет xxx.yyy 7.7.7 не совместим с net462 (.NETFramework, Version = v4.6.2) / win.Пакет xxx.yyy 7.7.7 не поддерживает целевые платформы.
NU1202: Пакет xxx.yyy 7.7.7 не совместим с net462 (.NETFramework, Version = v4.6.2) / win-x64.Пакет xxx.yyy 7.7.7 не поддерживает целевые платформы.
NU1202: Пакет xxx.yyy 7.7.7 не совместим с net462 (.NETFramework, Version = v4.6.2) / win-x86.Пакет xxx.yyy 7.7.7 не поддерживает целевые платформы.
Ошибка восстановления пакета.Откат изменений пакета для «ClassLibrary1».
12/7/2018 Обновление.
Похоже, существует множество проблем с тем, как мы создаем пакет и как Nuget интерпретирует его при использованииРежим packageReference.
Во-первых, как мы указываем цель.Nuget в режиме package.config может определить, что target = "lib \ net462 \ project1" нацелен на платформу .Net 4.62, но когда Nuget находится в режиме PackageReference, цель должна быть заменена на target = "lib \ net462".
Другая проблема заключается в том, что в режиме package.config nuget был более щадящим, когда у вас было несколько архитектур (x86, x84, AnyCpu), вы могли просто включить их все в теги.
Кроме того, даже не думайте о попытках включить проекты в решение, где некоторые используют package.config, а другие используют packageReference.В этом отношении не нужно иметь экземпляры VS, работающие с другими настройками для формата управления пакетами по умолчанию.
Мы обнаружили, что нам пришлось удалить папки obj в решении и перезапустить VS, чтобы устранить некоторые из этих проблем при попытке преобразования.