次のように、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
、出力にリストされていないのはなぜですか? update-package
インストール時にNuGetが最も適切なバージョンを使用しようとすることは知っていますが、この場合は最新バージョンに更新したいと考えています。
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
はソリューション エクスプローラーの ProjectX にMyCompany.Enum
表示されpackages.config
、 ProjectX によって参照されるため、これは非常に奇妙です。
これについて何が説明できるでしょうか?それがナゲットのバグであれば問題ありませんが、それがどのように機能するかについて何か誤解していると思います。で同様の奇妙なことが起こっていると聞いたことrepositories.config
がありますが、これらの問題をここで見ているものと関連付けることはできませんでした。
よろしくお願いします。
更新このコマンドを使用して、パッケージを ProjectX
に手動でインストールする場合:MyCompany.Enum
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.
しかし悲しいことに、ファイルに の2 つのインスタンスがあります。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>