`nuget.exe update -self`没有做我期望的事情

时间:2013-09-17 16:44:23

标签: nuget

在我的.nuget中,我有一个相当古老的NuGet.exe。我最后在4月初更新了它(在2.5甚至发布之前)。我决定将其更新到最新版本。

所以,首先我将Visual Studio中的扩展更新为2.7.40808.167。然后,我从我的解决方案的.nuget目录中以bash运行以下命令:

$ nuget.exe update -self
Checking for updates from https://www.nuget.org/api/v2/.
Currently running NuGet.exe 2.7.0.
Updating NuGet.exe to 2.7.1.
Update successful.

嗯,这很奇怪。当前版本应该是2.2之类的。哦,好吧,至少它现在更新了,对吧?

$ nuget
NuGet Version: 2.7.40906.75
usage: NuGet <command> [args] [options]
Type 'NuGet help <command>' for help on a specific command.

这似乎很好,但是:

$ git status
# On branch nuget
nothing to commit, working directory clean

$ ls -l
total 12
-rw-r--r--    1 sandy    Administ      169 Mar  7  2013 NuGet.Config
-rwxr-xr-x    1 sandy    Administ    18432 Apr  9 09:06 NuGet.exe
-rw-r--r--    1 sandy    Administ     3800 Mar  7  2013 NuGet.targets

奇怪的是,exe还没有更新。我的PATH中没有其他nuget.exe ...让我们再次运行update -self

$ nuget.exe update -self
Checking for updates from https://www.nuget.org/api/v2/.
Currently running NuGet.exe 2.7.0.
Updating NuGet.exe to 2.7.1.
Update successful.

所以,这很奇怪:

  1. 我的旧nuget.exe声称有一个不可思议的新版本。
  2. 无论我运行update -self多少次,我都会被告知它正在从2.7.0升级 - &gt; 2.7.1。
  3. 实际的nuget.exe二进制文件没有更改。
  4. 知道发生了什么事吗?我确定我可以简单地下载一个新的nuget.exe二进制文件并且没问题,但我想了解当前的情况。

2 个答案:

答案 0 :(得分:1)

对此抱歉,这是一个错误。在检查当前版本时,我们读取了程序集元数据,当我们发布2.7.1时,我们无法更新程序集元数据。你有最新的,它只是不知道它。

答案 1 :(得分:0)

我认为你不会直接下载它。看起来这是一个错误。我注意到同样的问题。直接下载,版本2.7.0。将.nuget \ nuget.exe重命名为其他内容并运行update -self,它仍然只下载2.7.0