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


Предупреждение NuGet NU5131

Ссылки были найдены в nuspec, но некоторые эталонные сборки не найдены в папке nuspec и ref. Добавьте следующие эталонные сборки:

  • Добавление AssemblyName.dll в каталог ref/net472/

Проблема

NuGet имеет функцию, которая позволяет авторам пакетов выбирать, какие сборки будут доступны во время компиляции в проектах, использующих пакет.

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

Решение

Список сборок в разделе nuspec-файла <references> должен содержать соответствующие сборки ref/<tfm>/.

Например, рассмотрим пакет со следующими файлами:

lib\net472\MyLib.dll
lib\net472\MyHelpers.dll
lib\net472\MyUtilities.dll

Автор пакета хочет запретить потребителям пакетов писать код, который напрямую вызывается MyUtilities.dll, поэтому они добавляют следующий код в файл nuspec:

<references>
    <group targetFramework="net472">
        <reference file="MyLib.dll" />
        <reference file="MyHelpers.dll" />
    </group>
</references>

Этот пакет не будет работать должным образом при использовании PackageReference. Чтобы устранить эту проблему, пакет должен содержать следующие файлы:

ref\net472\MyLib.dll
ref\net472\MyHelpers.dll