.NET Core 中是否有 MEF 的替代品(或 ASP.NET 5)

Is there a replacement for MEF in .NET Core (or ASP.NET 5)

我们知道 .NET Core(开源组件)只是完整 .NET Framework 的一个子集,并且 ASP.NET 5(和 MVC 6)构建在 .NET Core 之上。这是否意味着托管扩展框架 (MEF) 在 ASP.NET 5 中不可用?

如果是,.NET Core 中是否有动态可扩展性的替代品?

我有许多使用 MEF 动态加载插件和外部集成的应用程序,如果它们仅仅因为使用 MEF 而被锁定在 .NET Framework 中,那将是一种遗憾。

现有的 NuGet 包应该可以工作。它是可移植的,并且 .NET Core 是可移植 API 表面的向后兼容演变。 ASP.NET Core 不会自动安装它,但是因为软件包没有明确说明它与 .NET Core 兼容。

要安装该软件包,您需要将 imports 部分添加到 project.json:

{
  "dependencies": {
    "Microsoft.Composition": "1.0.30"
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": "portable-net45+win8"
    }
  }
}