2015-04-30 1 views
6

Ho creato un nuovo progetto utilizzando un'installazione pulita di VS 2015 Enterprise RC1 e sto cercando di aggiungere un pacchetto Nuget per Mandrill che è stato creato con .NET. 4.Come utilizzare le "vecchie" dipendenze con ASP.NET 5

Quando costruisco il progetto ottengo un errore da DNX Nucleo 5.0 che lo spazio dei nomi non può essere trovato:

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 ========== 

Piuttosto che aggiungere come una dipendenza globale, ho cercato di aggiungere solo per il framework dnx451 all'interno di project.json, con lo stesso risultato.

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

È addirittura possibile utilizzare pacchetti .NET 4 con ASP.NET 5? Se è così, cosa è richiesto?

risposta

11

Probabilmente il pacchetto Mandrill non supporta CoreCLR. Sono disponibili due opzioni:

  1. supporto estraibile per CoreCLR dal vostro pacchetto, eliminando la sezione dnxcore50 in project.json
  2. Usa compilazione condizionale ed escludere le chiamate al Mandrill api. Esempio: #if DXNCORE50 ... o #if DNX451