2015-04-30 11 views
6

Stworzyłem nowy projekt przy użyciu czystej instalacji VS 2015 Enterprise RC1, i próbuję dodać pakiet Nuget dla Mandrill, który jest zbudowany na .NET 4.Jak używać "starych" zależności z ASP.NET 5

Kiedy budować projektu pojawia się błąd z DNX Rdzenia 5,0, że przestrzeń nazw nie można znaleźć:

All packages are already installed and there is nothing to restore. 
NuGet package restore finished. 
1>------ Build started: Project: WebApplication3, Configuration: Debug Any CPU ------ 
1>C:\Projects\WebApplication3\src\WebApplication3\MessageServices.cs(5,7,5,15): DNX Core 5.0 error CS0246: The type or namespace name 'Mandrill' could not be found (are you missing a using directive or an assembly reference?) 
1> 
1> Build failed. 
1>   0 Warning(s). 
1>   1 Error(s). 
1> 
1> Time elapsed 00:00:00.1404086 
1> 
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ========== 

Zamiast dodawać jako globalnego uzależnienia, próbowałem dodać go tylko do struktura dnx451 w ramach project.json, z tym samym wynikiem.

"frameworks": { 
    "dnx451": { 
     "dependencies": { 
      "Mandrill": "1.3.1" 
     } 
    }, 
    "dnxcore50": { } 
}, 

Czy można nawet używać pakietów .NET 4 z ASP.NET 5? Jeśli tak, co jest wymagane?

Odpowiedz

11

Prawdopodobnie pakiet Mandrill nie obsługuje CoreCLR. Masz dwie opcje:

  1. usunąć wsparcie dla CoreCLR z pakietu poprzez usunięcie sekcję w project.json
  2. Korzystanie warunkowej kompilacji dnxcore50 i uwzględniają wszystkie połączenia do Mandrill API. Przykład: #if DXNCORE50 ... lub #if DNX451