Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Некоторые целевые платформы, объявленные в группе зависимостей nuspec и папке lib/ref, имеют совместимые совпадения, но не точные совпадения в другом расположении. Если не преднамеренные, ознакомьтесь со списком действий ниже:
- Добавьте группу зависимостей для . NETFramework4.7.2 в nuspec
Проблема
ref/<tfm>/ Каталог lib/<tfm>/ в пакете содержит по крайней мере один файл для Moniker Целевой платформы (TFM), указанный в сообщении предупреждения. Однако для этого TFM в nuspec файле не существует группы зависимостей. Это может привести к тому, что потребители пакетов считают, что пакет несовместим с TFM. Если сборки для указанного TFM имеют разные зависимости для совместимого TFM, определенного в группе зависимостей, проект с помощью пакета может столкнуться с ошибками среды выполнения.
Решение
- Запуск целевого объекта пакета NuGet в проекте
По возможности используйте целевой объект пакета MSBuild NuGet, так как он автоматически сопоставляет сборки TFM с группами зависимостей из целевых платформ проекта. Обратите внимание, что проект должен использовать PackageReference для собственных зависимостей NuGet. Если в проекте используется packages.config, необходимо использовать nuget.exe pack и nuspec файл.
- Редактирование
nuspecфайла вручную
Если вы используете пользовательский nuspec файл, рекомендуется использовать каждый TFM, для которого lib/ или ref/ сборки существуют, должны иметь соответствующую группу зависимостей, даже если зависимости совпадают со следующим совместимым TFM. Например, если пакет содержит netstandard1.0 и netstandard2.0 сборки, а зависимости одинаковы для обоих, рекомендуется указывать оба TFM в качестве групп зависимостей с повторяющимися элементами зависимостей.
Обратите внимание, что идентификатор TFM, используемый в путях сборки, использует другой формат идентификатора TFM, используемого в группах зависимостей. Предупреждение указывает правильное имя, используемое в группе зависимостей. Если пакет не имеет зависимостей для этой целевой платформы, используйте пустую группу. Например:
<package>
<metadata>
...
<dependencies>
<group targetFramework=".NETFramework4.7.2" />
</dependencies>
</metadata>
...
<package>
lib/Удаление илиref/файлы
Если вы не хотите, чтобы ваш пакет был совместим с сообщаемой платформой TFM, измените проект таким образом, что нет lib/<tfm>/ или ref/<tfm>/ файлы находятся в пакете для этого TFM. Например, если предупреждение добавляет в пакет группу .NETFramework4.7.2 nuspecзависимостей, удалите все lib/net472/* ref/net472/* и файлы из пакета.