.net-core - 在 .NET Core 2 中使用 Microsoft.AspNetCore.All 时可能会遇到哪些问题?

标签 .net-core

建议在 .NET Core 2 中使用 Microsoft.AspNetCore.All,因为它可以简化依赖关系并使用 Tree Shaker 魔法来避免发布的内容膨胀。

我在迁移到它时遇到了一个问题:当使用引用 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 中不使用的内容之间发生冲突之外,由于此建议,您可能会遇到哪些其他问题?

最佳答案

恕我直言,这不是一个常见的问题,因为没有多少库在两个不同的包中以相同的类型发布两次:一个是强命名的,另一个不是。特别是被元包 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 版本为止。

关于.net-core - 在 .NET Core 2 中使用 Microsoft.AspNetCore.All 时可能会遇到哪些问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46727322/

相关文章:

docker - .NET Core Docker Container在Kubernetes中不起作用

c# - 如何使用内存数据库中的Entity Framework核心自动递增列?

.net-core - .Net Core 2.2 是否在 2019 年 12 月 23 日结束?

c# - 从 System.Diagnostics.EventLogInternal.InternalWriteEvent 写入记录器时出错

c# - .NET 核心日期时间?如果为 null,则字段 ModelState 无效

c# - .Net Core 3 IStringLocalizer.WithCulture(CultureInfo) 已过时

c# - 如何向服务器端 Blazor 项目添加 Controller (而非 View )支持

asp.net-core - Microsoft.AspNet 与 Microsoft.AspNetCore nuget 包?

c# - 在 AWS "Error: Cannot send data if the connection is not in the ' Connected'State 上部署了 blazor 服务器应用程序。”但适用于本地主机

C# View 模型到模型