在.NET Core 2中使用Microsoft.AspNetCore.All时会遇到什么问题?

时间:2017-10-13 10:00:50

标签: .net-core

建议在.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中未使用的内容之间发生冲突之外,由于此推荐,您可能会遇到哪些其他问题?

1 个答案:

答案 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版本。