使用ExcludedVersion安装软件包时Nuget更新

时间:2014-04-25 09:05:07

标签: nuget

我想知道是否可以更新用/ x标志安装的软件包? 对我来说,似乎现在不可能。更新的意思是使packages.config更改为更高版本的给定包(由nuget.exe更新SolutionName.sln完成)

更新操作的流程是什么?它看起来在实际安装的包的nupgk里面?或者它只是在目录名称中搜索版本? 缺少目录名称中的版本时是否存在版本比较问题?

我需要准确的解释。

注意: 我用nuget 2.8.50224.430

我在nuget codeplex上创建了相同的线程: https://nuget.codeplex.com/discussions/543299

1 个答案:

答案 0 :(得分:0)

我想我设法回答了我自己的问题。 在等待响应时,我决定查看nuget.exe源代码并查找已安装软件包的版本是如何收集的。

我意识到:
 1.版本直接来自packages.config  2. nuget update命令在packages目录中查找PackageName.PackageVersion.nupkg  3.当想要的文件不存在时,无法完成更新(中止)。

我尝试更改代码以使用没有版本的目录和包名称。 这是可能的,但为此目的请求另一个标志会更好。

好奇:PathResolver是在UpdateCommand.cs中创建的     

var pathResolver = new DefaultPackagePathResolver(sharedRepositoryFileSystem);

您可以将false作为第二个参数传递,以在路径连接中省略版本。