基本上,走出大门,微软已经透露了自己的依赖注入系统;据我所知,这是一个很多的批评.但我的更大的问题在于它如何影响其他图书馆.
从another question I asked和other resources online起,Ninject似乎没有使用MVC 6开箱即用.虽然有一个“解决方案”以详细的库Microsoft.Framework.DependencyInjection.Ninject和Ninject的形式给出.这更棘手,因为该库需要将https://www.myget.org/F/aspnetmaster/添加到您的NuGet Feed列表中.
我做了一些挖掘,发现这个图书馆在哪里主办;看起来不错,似乎可以从我能说出来的工作顺利,但有一些事情让我烦恼.
>图书馆似乎并没有像Ninject创始人一样领导
图书馆埋藏在一个晦涩的仓库里
>在线的实际Ninject资源从未提到
所以基本上,我非常担心这是一种乐队助手,而且Ninject(甚至其他的容器库)的支持正在消失.有没有一些隐藏的信息,我只是没有发现?
解决方法
- The library does not really appear to be headed by the Ninject
creators
该库似乎是these also,看起来是微软创建的依赖注入提供商的样本是removed in beta7.请注意original question引用的DI in MVC 6链接说明如下:
These DI container adaptors are temporary and are there for reference;
we expect that they will eventually be removed and replaced by the
respective container owners.
应该是微软不应负责维护第三方提供商.
- The library is buried pretty deep in an obscure repository
如果你不知道,ASP.NET 5还在开发中. Beta 7作为预发行版在nuget上可用,但还有其他来源,包括:
> https://github.com/aspnet/(源代码)
> https://www.myget.org/gallery/aspnetvnext(nuget dev分支上面的构建)
> https://www.myget.org/gallery/aspnetmaster(nuget主分支上面的[与你的问题相同])
这些来源由Microsoft维护.
- The actual Ninject resources online never mention it
与任何新的开发一样,第三方图书馆供应商必须自己决定何时(如果有的话)他们将提供支持新代码库的产品的实施.对于一些人来说,在新框架正式发布之前,将被视为最有效的方式,因为在这一点之前仍然很可能发生API破坏的变化.支持是否得到执行当然是由供应商资源,和/或在开放源代码社区的情况下.