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