Мне нужно получить из приложения .NET(это не приложение .NET Core) список каталогов, в которых NuGet хранит свои пакеты.
Я знаю, что по умолчанию он находится в C:\Users\[YourUsername]\.nuget\packages
, поэтому опция состоит в том, чтобы перебирать всех пользователей, предполагая, что текущий пользователь Windows, который запускает процесс, имеет право доступа к другим данным пользователей. Более того, если этот параметр по умолчанию изменен пользователем, я застрял.
Ответ предоставляется здесь через
nuget locals packages-cache -list
но это не код .NET, и он, кажется, является устаревшим вариантом в соответствии с ответом.
Кроме того, я хотел бы понять логику расположения пакетов .NET Core NuGet, потому что я вижу некоторые пакеты .NET Core в трех местах:
-
C:\Program Files\dotnet\shared\Microsoft.NETCore.App
(не содержат пакеты AspNetCore) -
C:\Users\[UserName]\.nuget\packages
(содержать пакеты AspNetCore) -
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages
(содержат пакеты AspNetCore)