Вы ничего не пропустили.Не все пакеты NuGet являются библиотеками.
NuGet имеет соглашения о том, как файлы должны быть упакованы для использования различных функций.Например, файлы в content
или contentFiles
копируются в каталог проекта или выводятся в зависимости от того, использует ли проект, использующий пакет, packages.config
или PackageReference
.Если автор пакета хочет предоставить вам библиотеку, которую вы можете использовать в своем коде, он должен поместить библиотеку в каталог lib
в nupkg (технически это может быть в ref
, но они не копируются всоздать / опубликовать вывод, они используются только во время сборки).Не удивительно, что каталог tools
предназначен для пакетов инструментов.Он часто используется исполнителями модульных тестов или, в данном случае, генератором отчетов.
Итак, поскольку пакет помещает dll в каталог tools
, это означает, что автор пакета намеревается, чтобы пакет был инструментомчтобы помочь вам во время разработки, но не в качестве библиотеки для использования в вашем коде.Вы можете попробовать связаться с автором пакета, чтобы узнать, опубликовали ли они другой пакет с той же DLL, на этот раз в каталоге lib
, чтобы вы могли использовать его в своем проекте.
В противном случае вам потребуетсянайти решение, которое не полагается на NuGet, который принесет вам эту библиотеку dll.Одним из вариантов является наличие файла packages.config
, который извлекает пакет из каталога packages
решения, а затем вы используете ссылку на dll на dll.Затем вашему сценарию сборки потребуется сначала восстановить файл packages.config
перед сборкой проекта.Другой вариант - проверить в dll свой инструмент управления исходным кодом, если лицензия dll позволяет это, и снова иметь ссылку на dll.