Existe-t-il un remplacement de MEF dans .NET Core (ou ASP.NET 5)


11

Nous savons que .NET Core (les composants open-source) sont seulement un sous-ensemble du .NET Framework complet, et que ASP.NET 5 (et MVC 6) est construit sur .NET Core. Cela signifie-t-il que le cadre d'extensibilité géré (MEF, Managed Extensibility Framework) n'est pas disponible dans ASP.NET 5?

Si tel est le cas, existe-t-il un remplacement pour l'extensibilité dynamique disponible dans .NET Core?

J'ai un certain nombre d'applications qui utilisent MEF pour charger dynamiquement des plugins et des intégrations externes et il serait dommage s'ils étaient verrouillés dans le .NET Framework juste parce qu'ils utilisent MEF.

+2

est certainement soutenu MEF dans .Net 4.6 Aperçu. 02 mars. 152015-03-02 01:23:16

+1

vous pouvez également utiliser probablement http://www.nuget.org/packages/microsoft.composition 02 mars. 152015-03-02 01:26:17

  0

@Claies J'ai remarqué que, mais 4.6 est seulement le cadre complet, pas de base. MEF n'apparaît pas dans le repo corefx, donc je ne suis pas sûr qu'il soit inclus. En outre, ce paquetage NuGet est uniquement pris en charge sur .NET Framework, mais s'il fonctionne dans un PCL, je pourrais peut-être le référencer à partir d'un projet vNext/5. 02 mars. 152015-03-02 01:30:01

7

Le package NuGet existant devrait fonctionner. C'est portable, et .NET Core est une évolution rétrocompatible de la surface de l'API portable. ASP.NET Core ne l'installera pas automatiquement, cependant, car le paquet ne dit pas explicitement qu'il est compatible avec .NET Core.

Pour installer le package, vous aurez besoin d'ajouter une section imports à votre project.json:

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

* Quel * paquet existant? Il semble y en avoir plusieurs maintenant. 20 nov.. 152015-11-20 00:42:59

  0

'Microsoft.Composition', mais vous devrez peut-être ajouter' 'imports": "portable-net45 + win8" 'à votre' project.json' de nos jours. 01 juin. 162016-06-01 15:22:09

+1

Réponse révisée pour l'état actuel des choses. 01 juin. 162016-06-01 15:28:13