好的,我想检查我的依赖关系到源代码控制。许多人会因各种原因反对这一点,但这不是我在这个问题上所寻求的。
请接受我的要求是我希望我的依赖项在源代码管理中。
我正在使用NuGet包,所以我的解决方案的根目录中有一个packages
文件夹。包中的每个文件夹都包含.nupkg
文件以及该包的提取内容(二进制文件,xml等)。
由于.nupkg
文件是包的压缩内容,因此将其与解压缩的内容一起检入是没有意义的。我只想检查.nupkg
文件并在构建过程中恢复它们。这就是问题所在。 NuGet在恢复时只检查是否存在.nupkg
文件,如果发现已经安装了该软件包,则不会将其解压缩。
我发现解压缩这些文件的唯一方法是运行nuget.exe install
并指定特定项目的packages.config
文件并使用选项-OutputDirectory {solutionDir}\packages
。
e.g。
nuget.exe install {solutionDir}\{projectDir}\packages.config -OutputDirectory {solutionDir}\packages
但这只适用于项目级别,而不是解决方案级别。因此,我必须为解决方案中的每个项目创建一个脚本来执行此操作。
我很乐意依赖nuget.exe restore MySolution.sln
,但它会检测.nupkg
个文件并且不会解压缩它们。
当.nupkg
文件存在但是没有解压缩时,有没有人有更简单的方法来恢复解决方案的所有NuGet包?
答案 0 :(得分:0)
如果不想从互联网上下载nuget软件包,只需将它们添加到名为nuget_repo的单独文件夹中,并将此文件夹作为a package source注册到nuget.config文件中。检查nuget_repo文件夹和nuget.config以及源代码控制源。