Используя fuget для просмотра nuspec пакета , мы можем увидеть следующее:
<frameworkAssemblies>
<frameworkAssembly assemblyName="mscorlib" targetFramework=".NETFramework4.6.1" />
<frameworkAssembly assemblyName="System" targetFramework=".NETFramework4.6.1" />
<frameworkAssembly assemblyName="System.Drawing" targetFramework=".NETFramework4.6.1" />
</frameworkAssemblies>
Итак, пакет сообщает NuGet, что System.Drawing
необходим.
Если вы используете packages.config
для импорта пакетов NuGet в свой проект, то по замыслу работает то, что NuGet скажет системе проекта Visual Studio добавить эти ссылки во время установки пакета.Следовательно, установка пакета добавит ссылку обратно.
Использование пакетов NuGet с PackageReference (требуется Visual Studio 2017, я не могу вспомнить, какая версия, возможно, 15.2 или выше, но, возможно, она работала в 15.0) не будетделать то же самое.С PackageReference только ссылка на пакет добавляется в ваш csproj, а затем транзитивные зависимости обрабатываются автоматически через систему сборки, без изменения вашего csproj.Однако не все типы проектов поддерживают PackageReference (и, как уже говорилось, VS2015 и более ранние версии также не поддерживают его).