私の会社は現在、すべての共有アセンブリをパッケージ化するためにナゲットを使用しています。また、タグを使用してセーバーに基づいてバージョン管理を開始しました。同じ依存関係を複数回取得すると、ナゲットのバージョンがチェックされない
私は、予想通りナゲットが働いていない状況があります。私は3つの共有アセンブリを持って
....
- 列挙
- 共通
- ビジネスロジック パッケージ参照の面では
...
- コモン= > Enum
- ビジネスロジック=>一般的な、列挙型
ビジネスロジックは共通して列挙型の両方に依存する理由は、私はそれがないときに共通の依存を更新(再構築、パッケージ、公開)する必要がありますする必要はないということですビジネスロジックで使用するためだけに追加された新しい列挙型を使用する必要があります
したがって、列挙型を追加してBusinessLogicで使用します。私はそれを行う前に、
これら
は、すべてのバージョンです...- 列挙= 1.4.0
- コモン= 1.2.1
- ビジネスロジック= 2.0.1
私は今、EnumプロジェクトにBusinessLogicで使用したい新しいenum値を追加し、Enumプロジェクトをビルド、パッケージ化、公開します。
- 列挙= 1.5.0
- コモン= 1.2.1
- ビジネスロジック= 2.0.1今
、私はなど、ビジネスロジックに私の変更を行い、コミット、プッシュ、パッケージ...
- 列挙= 1.5.0
- コモン= 1.2.1
- ビジネスロジック= 2.1.0
だから、今の依存関係は次のようになり...
- 共通=>列挙1.4.0
- ビジネスロジック=>列挙今1.5.0
私が実行して...私が起こることを期待何
nuget pack BusinessLogic.csproj
nugetは、共通の列挙型の1.4.0が必要であることがわかりますが、ビジネスロジックは1.5.0を必要とするため、Enum >= 1.5.0
のためのパッケージに依存を追加しますが、で列挙型には依存はありませんすべて、私はコモンがそれを果たすと仮定していると思う。
この動作は仕様ですか?
ありがとう、 –
.nuspecファイルを使用していても同じ問題があります。私はNuGet 1.4.20615.182を使用します。この問題を解決する他の方法はありますか? –