2016-12-16 1 views
2

Ich versuche, ein C# -Konsolenprojekt zu portieren, das unter Windows problemlos mit Linux mit .NET Core funktioniert. Ich habe eine Projekt.json Datei erstellt, dotnet restore ausführen und alles scheint gut zu funktionieren. Aber wenn ich Dotnet Build laufen lasse, erhalte ich diese Meldung:Kann die BackgroundWorker-Klasse mit .net-Kern verwendet werden?

Der Typ oder Namespace-Name ‚Background‘ konnte nicht gefunden werden (sind eine using-Direktive oder ein Assemblyverweis fehlt?)

Nach .NET Core API scheint die Klasse BackgroundWorker in System.ComponentModel vorhanden zu sein.

Hier ist meine project.json:

"version": "1.0.0-*", 
    "buildOptions": { 
    "debugType": "portable", 
    "emitEntryPoint": true 
    }, 
    "dependencies": {}, 
    "frameworks": { 
    "netcoreapp1.1": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.1.0" 
     } 
     }, 
     "imports": "dnxcore50" 
    } 
    } 

bin ich etwas fehlt?

Danke!

+0

Ich bin mir nicht sicher, ob ich etwas fehlt ... Warum Sie Ihre project.json haben posten? – RandomStranger

+3

'BackgroundWorker' scheint für WinForms und WPF erstellt worden zu sein - in Konsolenprogrammen können Sie auch rohe Threads verwenden. Aber die sexy-neue Ersetzung ist die Task Parallel Library (d. H. Der Namensraum 'System.Threading.Tasks'). Hast du in Betracht gezogen, das stattdessen zu verwenden? – Dai

+0

Sie müssen auch das entsprechende [Paket] (https://www.nuget.org/packages/System.ComponentModel/) installieren. Im Gegensatz zu .NET Framework sind diese "System Assemblies" normalerweise nicht. .NET Core ist viel modularer. –

Antwort

3

Sie müssen das Nuggetpaket System.ComponentModel.EventBasedAsync als Abhängigkeit (nicht das Paket System.ComponentModel nugget) einschließen. Wenn Sie sich die BackgroundWorker.cs file on GitHub ansehen, können Sie sehen, dass es unter dem Namespace System.ComponentModel.EventBasedAsync verschachtelt ist.

Ihre project.json würde wie folgt aussehen:

"version": "1.0.0-*", 
    "buildOptions": { 
    "debugType": "portable", 
    "emitEntryPoint": true 
    }, 
    "dependencies": {}, 
    "frameworks": { 
    "netcoreapp1.1": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.1.0" 
     }, 
     "System.ComponentModel.EventBasedAsync": "4.3.0" 
     }, 
     "imports": "dnxcore50" 
    } 
    } 
Verwandte Themen