2017-10-13 2 views
4

.NET Core 2でMicrosoft.AspNetCore.Allを使用することが推奨されています。これは、依存関係を簡素化し、ツリーシェーカーの魔法を使用して公開する内容を膨らませないためです。.NET Core 2でMicrosoft.AspNetCore.Allを使用した場合、どのような問題が発生する可能性がありますか?

StackExchange.Redisを参照するライブラリを使用すると、矛盾があり、Microsoft.AspNetCore.Allの参照StackExchange.Redis.StrongNameのようになってしまいました。詳細は質問VS.NET 2017 forces using StackExchange.Redis 1.2.4.0 in ASP.NET 2.0 Core appを参照してください。依存関係を個別に参照する場合、この競合を回避してコンパイルできます。

Microsoft.AspNetCore.Allから使用しないものの間で競合すること以外は、この推奨事項のために他の問題はありますか?

+0

[Microsoft.AspNetCore.Allメタパッケージの長所と短所]の可能な複製(https://stackoverflow.com/questions/46592816/pros-and-cons-of-microsoft-aspnetcore-all-metapackage) – Set

+0

その質問主に意見に基づくものであるため閉鎖されている。発生する可能性のある問題に重点を置いて編集された質問。 – Knightsy

答えて

3

IMHO同じ種類の2つの異なるパッケージで2つのライブラリが公開されていないので、通常の問題ではありません。特に、あなたは間違いなくこのStackExchange.Redis問題(私はすでに二回、それを偶然見つけ)が、メンテナがdrop the StrongName package on version 2.0に計画しているとだけではありませんメタパッケージMicrosoft.AspNetCore.All 2.0.0

によって参照されています。

extern aliasの方法で対処してみることができます(here)。

簡単な方法は、同じパッケージのAspNetCoreターゲット(StrongNameのターゲット)をターゲットにすることです。それがあなたが作業するソリューション内の単なるプロジェクトの場合、それは簡単なハックです。

もう1つは、Microsoft.Extensions.Caching.Redisです。それはメタパッケージが依存するものです。

SE.Redisがバージョン2.0.0をリリースするまでです。

関連する問題