建议在.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 :(得分:5)
恕我直言,这不是一个普通的问题,因为在两个不同的软件包中,有两个不同的软件包在两个不同的软件包中发布了两次:一个是强名,一个是非。特别是由元数据包Microsoft.AspNetCore.All 2.0.0
你肯定不是唯一一个有StackExchange.Redis
问题的人(我偶然发现了两次)但是维护人员正计划drop the StrongName
package on version 2.0。
您可以尝试使用extern alias
方法处理here。
快速解决这个问题的方法是针对相同的软件包AspNetCore目标(StrongName一个)。如果它只是您使用的解决方案中的项目,那么这很容易入侵。
另一个是定位Microsoft.Extensions.Caching.Redis
。这就是元数据包依赖的东西。
直到SE.Redis发布2.0.0版本。