У меня есть конфигурация пакетов в 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>
Когда я запускаю следующую команду в консоли управления пакетами:
update-package -project ProjectX
Я вижу следующий вывод:
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
указан как в packages.config
, так и *На 1024 * ссылается ProjectX в обозревателе решений.
Чем это может быть объяснено?Если это ошибка Nuget, хорошо, но я ожидаю, что что-то неправильно понимаю, как она работает.Я слышал о подобных странных событиях с repositories.config
, но не смог связать ни одну из этих проблем с тем, что я вижу здесь.
Большое спасибо заранее.
ОБНОВЛЕНИЕ
Если я вручную установлю пакет MyCompany.Enum
в ProjectX, используя эту команду:
install-package -project ProjectX MyCompany.Enum
Затем я получу этот вывод:
'MyCompany.Enum 1.5.0.1' already installed.
Successfully added 'MyCompany.Enum 1.5.0.1' to MyCompany.Services.ProjectX.
Но, к сожалению, теперь у меня есть два экземпляра MyCompany.Enum
в моем файле packages.config
:
<?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>