2016-06-19 23 views
0

Ich brauche Nito.AsyncEx mit dem Bibliotheks-Targeting .Net-4.0. Ich versuche, den folgenden einfachen Code:Nito.AsyncEx + .Net-4.0 = 'AsyncContext' existiert nicht im Namespace 'Nito.AsyncEx'

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace TempNet40 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Nito.AsyncEx.AsyncContext.Run(() => MainAsync(args)); 
     } 

     static async void MainAsync(string[] args) 
     { 

     } 
    } 
} 

Während die oben kompiliert, wenn meine lib Ziele .Net-4.5 oder höher - es nicht für .Net-4.0 mit Fehlern:

The type or namespace name 'AsyncContext' does not exist in the namespace 'Nito.AsyncEx' (are you missing an assembly reference?)

Nito. AsyncEx (sowie seine .Net-4.0-Abhängigkeit: Microsoft.Bcl.Async) wurde mit NuGet installiert - ich denke für .Net-4.0, ich muss auf eine andere Bibliothek verweisen ... weiß jemand welche?

Antwort

2

Ich würde vorschlagen, dass Sie es mit NuGet installieren, dies wird Ihnen helfen, xour Abhängigkeiten auch zu verwalten.

einfach mit der rechten Maustaste auf Ihr Projekt und wählen Sie verwalten NuGet Pakete

Wenn Sie die Abhängigkeiten auf eigene Faust sehen möchten, können Sie auf der Homepage NuGet überprüfen: http://www.nuget.org/packages/Nito.AsyncEx

ich es geschafft um dein Problem zu reproduzieren. Ich habe es mit dem Upgrade Microsoft.Bcl zu Version 1.1.10

+0

gelöst, aber das ist genau das, was ich tat - Zuerst installierte ich Pakete auf Lösungsebene mit der Option "NuGet Pakete für die Lösung verwalten". Dann habe ich versucht, Pakete direkt für das Projekt zu installieren, indem ich "NuGet-Pakete für Projekt verwalten" benutzte - beide gaben mir den gleichen Fehler beim Kompilieren. In beiden Fällen habe ich nur Nito.AsyncEx installiert -, NuGet hat die Abhängigkeiten automatisch markiert. – user2384366

+0

Ich habe es geschafft, Ihr Beispiel mit einem Upgrade auf Microsoft.Bcl 1.1.10 zu kompilieren. –

+0

Ja, das ist es - danke. Ich habe keine Aktualisierung versucht, weil ich dachte, NuGet installiert immer die neuesten Pakete, interessant, um herauszufinden, dass es nicht ... – user2384366