Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 NuGet软件包管理器控制台:";更新包-项目…“;不';t更新所有已安装的软件包_Visual Studio 2010_Nuget_Package Management - Fatal编程技术网

Visual studio 2010 NuGet软件包管理器控制台:";更新包-项目…“;不';t更新所有已安装的软件包

Visual studio 2010 NuGet软件包管理器控制台:";更新包-项目…“;不';t更新所有已安装的软件包,visual-studio-2010,nuget,package-management,Visual Studio 2010,Nuget,Package Management,我在ProjectX中有一个包配置,如下所示: <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Castle.Core" version="2.5.2" /> <package id="Castle.Windsor" version="2.5.3" /> <package id="CommonServiceLocator" version="1.0" /

我在ProjectX中有一个包配置,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Castle.Core" version="2.5.2" />
  <package id="Castle.Windsor" version="2.5.3" />
  <package id="CommonServiceLocator" version="1.0" />
  <package id="MyCompany.Enum" version="1.1.0.11" />
  <package id="MyCompany.Common" version="1.1.0.9" />
  <package id="MyCompany.Castle.Installers" version="1.1.0.13" />
</packages>
我看到以下输出:

No updates available for 'MyCompany.Castle.Installers'.
No updates available for 'CommonServiceLocator'.
No updates available for 'Castle.Windsor'.
No updates available for 'Castle.Core'.
我碰巧知道有一个新的
MyCompany.Enum
,为什么不在输出中列出呢?我知道NuGet在安装时会尝试使用最低的合适版本,但在这种情况下,我希望
update package
将其更新为最新版本

我尝试使用以下命令强制它更新MyCompany.Enum:

update-package -project MyCompany.Services.MyService MyCompany.Enum
这一次收到一条错误消息:

Update-Package : Unable to find package 'MyCompany.Enum' in 'MyCompany.Services.MyService'.
At line:1 char:15
+ update-package <<<<  -project MyCompany.Services.ProjectX MyCompany.enum
    + CategoryInfo          : NotSpecified: (:) [Update-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.UpdatePackageCommand
然后我得到这个输出:

'MyCompany.Enum 1.5.0.1' already installed.
Successfully added 'MyCompany.Enum 1.5.0.1' to MyCompany.Services.ProjectX.
但遗憾的是,现在我的
packages.config
文件中有两个
MyCompany.Enum
实例:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Castle.Core" version="2.5.2" />
  <package id="Castle.Windsor" version="2.5.3" />
  <package id="CommonServiceLocator" version="1.0" />
  <package id="MyCompany.Enum" version="1.1.0.11" />
  <package id="MyCompany.Common" version="1.1.0.9" />
  <package id="MyCompany.Castle.Installers" version="1.1.0.13" />
  <package id="MyCompany.Enum" version="1.5.0.1" />
</packages>

您的
软件包\repositories.config是否存在且正确

因为大多数人不签入packages文件夹,所以文件会丢失。一些NuGet命令首先在那里查找,然后失败。某些操作(例如在项目中安装包)将导致重新生成


我遇到了一个非常类似的问题,更新不起作用,但一旦我添加了一个新项目,它们就开始正常工作了。

看起来你的状态不好?在1.5中,我们正在做一些工作,以便在安装时规范化packages.config,从而避免出现重复的包。将packages.config视为可能在解决方案级别(也称为packages文件夹)安装的组件的子集。如果此处列出了某些内容,但不在解决方案文件夹中,则该内容仍未安装。
'MyCompany.Enum 1.5.0.1' already installed.
Successfully added 'MyCompany.Enum 1.5.0.1' to MyCompany.Services.ProjectX.
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Castle.Core" version="2.5.2" />
  <package id="Castle.Windsor" version="2.5.3" />
  <package id="CommonServiceLocator" version="1.0" />
  <package id="MyCompany.Enum" version="1.1.0.11" />
  <package id="MyCompany.Common" version="1.1.0.9" />
  <package id="MyCompany.Castle.Installers" version="1.1.0.13" />
  <package id="MyCompany.Enum" version="1.5.0.1" />
</packages>