Pat*_*eam 15 .net nuget nuget-package
我需要从.NET应用程序(不是.NET Core应用程序)获取NuGet存储其包的目录列表.
我知道默认情况下它是C:\Users\[YourUsername]\.nuget\packages一个选项是迭代所有用户假设当前运行该进程的Windows用户拥有访问其他用户数据的权限.此外,如果用户更改了此默认目录,我会被卡住.
一个答案是提供在这里通过
nuget locals packages-cache -list
Run Code Online (Sandbox Code Playgroud)
但它不是.NET代码,根据答案它似乎是一个过时的选项.
此外,我想了解.NET Core NuGet包位置的逻辑,因为我可以在3个位置看到一些.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包)为了实现这一点,您需要使用相同的代码和库nuget.exe:
NuGet.Configuration到您的项目中using NuGet.Configuration到文件的顶部nuget.exe在引擎盖下使用自己):var settings = Settings.LoadDefaultSettings(null);
Console.WriteLine(SettingsUtility.GetGlobalPackagesFolder(settings));
Run Code Online (Sandbox Code Playgroud)
您还可以检查nuget.exe以ILSpy了解它是如何工作的或在github NuGet/NuGet.Client上使用相关的源代码
| 归档时间: |
|
| 查看次数: |
721 次 |
| 最近记录: |