Используя MsTest.TestAdapter версии 1.4.0 в качестве примера, я пытаюсь понять, как NuGet разрешает зависимости для этого пакета во время установки.
Меня интересуют не детали того, какая версия каждого пакета будет разрешена, а где находится эта информация.
Если я выполню следующую команду в произвольной папке:
nuget install -source https://api.nuget.org/v3/index.json MSTest.TestAdapter -version 1.4.0
Вы увидите, что в конце установки будет установлено 50 пакетов.
Предполагая, что это зависимости, разрешенные NuGet, откуда он берет это дерево зависимостей? Я просмотрел информацию о пакете (nuspec, props, target) и не нашел никакой подсказки.
Любые идеи?
If I understand properly, it means then all 50 dependencies come from NETStandard.Library, System.Diagnostics.TextWriterTraceListener and its dependency chain, right?
Да, вы правы. 13.02.2019Where these packages are stored in the local devenv? Who makes the copy to the bin folder, since they are not referenced in the .csproj?
Если вы переименуете этот пакет в .zip и распакуете его, вы найдете файлmstest.testadapter.props
в папке net45. Откройте этот файл .props, вы получите содержимое...<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>...
, этот параметр скопирует файл dll в папку bin. 13.02.2019My project uses packages.config and these dependencies are not inside "packages" folder
Проверьте, есть ли в вашем решении какой-либо nuget.config с настройкой ` ‹add key=repositoryPath value=OtherFolder /›`, если да, то эти зависимости не находятся внутри папки пакетов. 14.02.2019