(我有一种强烈的感觉,这里有一些我不理解的基本内容,所以请多多包涵……)
我在一个包含一些包的网络共享上有一个本地 NuGet 包源,并且我有一个NuGet.Config
指向该网络共享的用户文件作为包源。在项目文件夹(git 存储库)中,我有一个packages.config
文件,该文件按名称引用此本地提要中的包。我想将此包恢复到此项目文件夹中。
我认为,让这件事变得困难的原因在于这不是一个 Visual Studio 项目。我在常规文本编辑器中使用它,并且有一些 PowerShell 构建脚本。
我知道我可以下载 nuget.exe 二进制文件并将其放在我的路径或工作目录中,然后nuget restore
从命令行执行,但我在这里试图解决的问题是哲学纯洁性问题之一。即:
- 我的存储库应该是可移植的,具有最少的先决条件依赖项
- 我的存储库不得包含无关的二进制文件或不属于它的代码
因此,我无法将nuget.exe
二进制文件提交到我的存储库以使其可移植;相反,我想依赖“现代 Windows 10 环境”的先决条件依赖项,它为我提供了 PowerShell 和内置的 PackageManagement 工具,这些工具能够引导包括 PowerShellGet 和 NuGet 在内的各种提供程序。
这感觉是正确的道路,因为 PackageManagement 被设计为任何包管理解决方案的内置统一接口。(但我是否误解了这一点,它实际上只是为了将软件安装到您的操作系统或用户帐户?我找不到任何可以清楚地描述这一点的东西。)
那么,是否可以利用内置的 PackageManagement 在Visual Studio 范围之外nuget restore
从文件中执行(或等效)操作?packages.config
或者如果不是直接的,是否有一个明显/简单的解决方案可以从 PackageManagement 引导到可以完成这种恢复的东西?