Существует ли инструмент или стратегия для определения всех пакетов .dll и nuget, на которые должен ссылаться проект?

Я использую некоторую стороннюю .dll, которая ссылается на несколько пакетов nuGet внутри. Чтобы я мог использовать эту стороннюю .dll, мне нужно каким-то образом выяснить, какие пакеты NuGet мне нужно установить.

Есть ли инструмент или стратегия, которые помогут мне определить, какие пакеты NuGet мне не хватает?

Я попытался запустить свою программу, и было выдано исключение, в котором говорилось, что мне не хватает пакета. Я установил этот пакет и больше не получаю эту ошибку. Однако я получаю сообщение об ошибке:

The type initializer for 'SomeStaticClass' threw an exception

Я подозреваю, что мне все еще не хватает некоторых ссылок. Любые идеи о том, как выяснить, какие ссылки или пакеты NuGet мне не хватает?




Ответы (1)


В таких случаях я использую инструмент под названием Просто декомпилировать (существует множество эти инструменты, это только тот, который я сейчас использую.)

Он интегрируется в проводник Windows, поэтому вы можете щелкнуть правой кнопкой мыши управляемую DLL / EXE, и появится контекстное меню, в котором вы сможете выбрать «Открыть с помощью простой декомпиляции». В этот момент появится пользовательский интерфейс и покажет вам все, на что он ссылается: управляемые И собственные библиотеки:

Просто декомпилировать

Итак, вы можете видеть здесь, что LCCShell.exe зависит от пары управляемых библиотек, которые недоступны для разрешения. Мне нужно понять, как их получить. В большинстве случаев пространство имен — это все, что мне нужно, чтобы найти его в Nuget. Он также показывает вам собственные библиотеки, что действительно удобно.

person Andy    schedule 03.09.2020