Я работаю в команде NuGet всего несколько месяцев, поэтому я не считаю себя экспертом по всем вопросам NuGet, но я бы предположил, что пакет MarkdownDeep.NET-Signed
может быть создан неправильно.
Из вашего образца, скопированного с csproj
с использованием packages.config
, вы можете увидеть, что пакет содержит папку lib\.NetFramework 3.5\
. Однако в пакетах NuGet обычно используется краткая форма lib\net35\
. После быстрого тестирования создания консольного приложения, обращения к пакету NuGet.Frameworks
и последующего использования NuGetFramework.Parse(".NetFramework 3.5")
, полученный объект имеет «неподдерживаемую» структуру. NuGet Package Explorer (доступный в Магазине Microsoft) является сторонним приложением, поэтому не гарантируется, что он будет работать так же, как NuGet в VS, но он также отображает .NetFramework 3.5
как «Нераспознанная структура», предоставляя дополнительные доказательства того, что это может быть неправильно созданный пакет.
Учитывая, что пакет не выглядит правильным, для NuGet допустимо неудачное восстановление с помощью PackageReference
, поскольку NuGet отвечает за выбор ресурсов из пакета, совместимых с вашим проектом. Я не знаю, почему установка пакета в packages.config
проекте работает.
Если вы просто ищете анализатор уценки .NET, из того, что я могу сказать, markdig - самый популярный и все еще поддерживаемый пакет, доступный на nuget.org.