NuGet エラー NU1011

Centrally defined floating package versions are not allowed.

問題点

<PackageVersion /> 項目にフローティング バージョンを含めることはできません。 NuGet の中央パッケージ管理 (CPM) は、大規模なバージョン管理を容易にし、決定論的で安全な復元を提供するエンタープライズ レベルの機能と見なされます。 フローティング バージョンを使用すると、フィードにプッシュされた後に、不適切なパッケージがビルドに導入される可能性が生じます。 これにより、リポジトリに変更を加えていなくても、突然不具合が発生する可能性があります。この状況では、フローティング バージョンを削除するか、修正した新しいバージョンのパッケージをプッシュしない限り、正常な状態に戻すことはできません。 非フローティング バージョンを使用すると、パッケージへのすべてのアップグレードがリポジトリ内のコミットによってサポートされるため、不具合の原因となった変更を特定し、コミットを元に戻して正常な状態に戻すことが容易になります。

推移的なピン留め機能は、グラフ内の推移的なバージョンを明示的にオーバーライドして、より細かい制御を実現できるように設計されています。 フローティング バージョンをオーバーライドとして使用すると、異なるプロジェクトの復元で、ピン留めされるはずのパッケージの異なるバージョンが使用される可能性があり、中央バージョンを使用するという約束に反する結果となります。

NuGet では、Dependabot などの自動化を使用してパッケージ バージョンを最新の状態に保つことを推奨しています。この自動化は、プル要求、自動ビルド検証、リポジトリ内のコミットによってサポートされるすべてのテストなどの既存の開発者ワークフローに統合し、パッケージを最新の状態に保つ効率的な方法を提供します。

解決策

フローティング バージョンを非フローティング バージョンの範囲に変更します。