Windows上で.NETコアのLinuxにうまく動作するC#コンソールプロジェクトを移植しようとしています。 私はproject.jsonファイルを作成し、dotnetのリストアを実行して、すべて正常に動作しているようです。 しかし、私はDOTNETのビルドを実行したとき、私はこのメッセージが表示されます。.netコアでBackgroundWorkerクラスを使用することはできますか?
型または名前空間名「BackgroundWorkerのは」が見つかりませんでした(?あなたがusingディレクティブまたはアセンブリ参照が不足して ある)
.NET Core APIによれば、BackgroundWorkerクラスはSystem.ComponentModelに存在するようです。ここで
は私の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"
}
}
私は何かが足りないのですか?
ありがとうございます!
私は何かが欠けていた場合、私はわからないんだけど...なぜあなたはあなたのproject.jsonを投稿したのですか? – RandomStranger
'BackgroundWorker'は、WinFormsとWPFのために構築されたようです - コンソールプログラムでは、生のスレッドを使うこともできます。しかし、セクシーな新しい置換は、タスク並列ライブラリ(すなわち、 'System.Threading.Tasks'名前空間)です。代わりにそれを使うことを考えましたか? – Dai
適切な[package](https://www.nuget.org/packages/System.ComponentModel/)もインストールする必要があります。 .NET Frameworkとは異なり、これらの「システムアセンブリ」は通常はありません。 .NET Coreははるかにモジュール化されています。 –