我正在尝试将在 Windows 上运行良好的 C# 控制台项目移植到带有 .NET Core 的 Linux。我创建了一个 project.json 文件,运行 dotnet restore,一切似乎都正常。但是当我运行 dotnet build 时,我收到以下消息:
找不到类型或命名空间名称“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"
}
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
谢谢 !
小智 5
您需要包含System.ComponentModel.EventBasedAsync
nuget 包作为依赖项(而不是System.ComponentModel
nuget 包)。如果您查看GitHub 上的BackgroundWorker.cs 文件,您可以看到它嵌套在System.ComponentModel.EventBasedAsync
命名空间下。
您的 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"
},
"System.ComponentModel.EventBasedAsync": "4.3.0"
},
"imports": "dnxcore50"
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3841 次 |
最近记录: |