2015-03-02 21 views
11

Wiemy, że .NET Core (komponenty open-source) to tylko podzbiór pełnego .NET Framework, a ASP.NET 5 (i MVC 6) jest oparty na .NET Core. Czy to znaczy, że Managed Extensibility Framework (MEF) nie jest dostępna w ASP.NET 5?Czy istnieje zamiennik dla MEF w .NET Core (lub ASP.NET 5)?

Jeśli tak, czy jest jakiś zamiennik dynamicznej rozszerzalności dostępny w .NET Core?

Mam wiele aplikacji, które używają MEF do dynamicznego ładowania wtyczek i zewnętrznych integracji i byłoby szkoda, gdyby zostały zablokowane w .NET Framework tylko dlatego, że używają MEF.

+2

MEF jest zdecydowanie obsługiwane w .NET 4.6 Preview. – Claies

+1

możesz także prawdopodobnie użyć http://www.nuget.org/packages/microsoft.composition – Claies

+0

@Claies Zauważyłem, że, ale 4.6 jest tylko pełną strukturą, bez Rdzenia. MEF nie pojawia się w repozytorium corefx, więc nie jestem pewien, czy jest włączony. Również ten pakiet NuGet zawiera listę obsługiwanych tylko w .NET Framework, ale jeśli działa w PCL, być może będę mógł odwołać się do tego z projektu vNext/5. – agc93

Odpowiedz

7

Istniejący pakiet NuGet powinien działać. Jest przenośny, a .NET Core to wstecznie kompatybilna ewolucja przenośnej powierzchni interfejsu API. ASP.NET Core nie zainstaluje go automatycznie, jednak ponieważ pakiet nie mówi jednoznacznie, że jest zgodny z .NET Core.

Aby zainstalować pakiet, musisz dodać do swojej sekcji importsproject.json:

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

* Który * istniejący pakiet? Wygląda na to, że jest ich już kilka. – SamB

+0

'Microsoft.Composition', ale być może będziesz musiał dodać' "import": "portable-net45 + win8" 'do twojego' project.json' w dzisiejszych czasach. – bricelam

+1

Odpowiedź poprawiona dla bieżącego stanu rzeczy. – bricelam

Powiązane problemy