【问题标题】:Updating to ASP.NET 5 Beta 8: Microsoft.Framework.DependencyInjection vs. Microsoft.Extensions.DependencyInjection更新到 ASP.NET 5 Beta 8:Microsoft.Framework.DependencyInjection 与 Microsoft.Extensions.DependencyInjection
【发布时间】:2016-01-18 23:52:13
【问题描述】:

我从 ASP.NET 5 Beta 6 更新到 ASP.NET 5 Beta 8,在向 IServiceCollection 添加服务时遇到了一些问题。

阅读我注意到的提交消息,命名空间 Microsoft.Framework.DependencyInjection 被重命名为 Microsoft.Extensions.DependencyInjection,所以我也这样做了。

现在我有以下问题:

  • 找不到services.ConfigureAntiforgery()
  • 找不到services.AddCookieAuthentication()
  • 找不到services.AddSession()
  • 找不到services.AddSession(Action<SessionOptions> configure)
  • 找不到services.AddIdentity<TUser, TRole>(Action<IdentityOptions> configure)
  • 找不到services.AddDefaultTokenProvider()
  • 找不到services.AddMvc()

这些扩展方法在旧命名空间中仍然可用,但像 services.AddDataProtection() 这样的其他方法则不可用。

如何让它发挥作用?

【问题讨论】:

  • 很奇怪,例如 AddMvc 现在位于新命名空间 Microsoft.Extensions.DependencyInjection 下。你确定你遵循了[安装步骤](docs.asp.net/en/latest/getting-started/…)?包括dnvm upgrade?
  • 根据GitHub 不是。
  • AntiForgery相同。
  • 有趣,我在 github 上看最新的MvcServiceCollectionExtensions,它使用了Microsoft.Extensions.DependencyInjection。该文件的最后一次更改似乎是 17 天前 重命名 Microsoft.Framework.* -> Microsoft.Extensions.*
  • 您的链接似乎很旧。您的 MvcServiceCollectionExtensions 链接中显示的最新更改似乎是 9 月 2 日?

标签: dependency-injection asp.net-core asp.net-core-mvc


【解决方案1】:

Microsoft.Framework.DependencyInjection -> Microsoft.Extensions.DependencyInjection 更改是在 beta8(发布)之后添加的。

撤消您的命名更改,它应该可以工作。

【讨论】:

  • 天啊!我再次开始更新,它只是工作。我不知道出了什么问题。
  • 更多解释可能对未来的用户有所帮助。这两件事是什么?
猜你喜欢
  • 2016-01-15
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多