.NET Core 1.0等效于System.Threading.Thread.CurrentThread.ManagedThreadId

时间:2016-06-28 15:57:44

标签: .net-core .net-standard .net-core-rc2

(<最接近的).NET Core 1.0等效于

System.Threading.Thread.CurrentThread.ManagedThreadId 

更新

由于@svick澄清 System.Threading.Thread.CurrentThread.ManagedThreadId 位于其通常位置。请参阅下面的屏幕截图。问题已经结束。 (目前尚不清楚CurrentThread属性的 System.Threading.Thread 实例如何以及何时初始化为非空值( default(System.Threading.Thread))总是== null?)但这不是本主题的主题。)

enter image description here

更新2

实际上 System.Threading.Thread.CurrentThread.ManagedThreadId 在.NET Core 1.0应用程序项目中可用,该项目已在其project.json中定义:

"frameworks": {
  "netcoreapp1.0": {
  "imports": "dnxcore50"
}

并且在.NET Core 1.0类库项目中缺失,该项目已在其project.json中定义:

"frameworks": {
  "netstandard1.6": {
   "imports": "dnxcore50"
}

如何在.NET Core 1.0类库项目中提供 System.Threading.Thread.CurrentThread.ManagedThreadId

1 个答案:

答案 0 :(得分:21)

它仍然是相同的:System.Threading.Thread.CurrentThread.ManagedThreadId

Thread类位于System.Threading.Thread包中,该包含在Microsoft.NETCore.App中,但不在NETStandard.Library中。这意味着Thread将在.Net Core应用程序中开箱即用,但要在.Net Core库中使用它,您需要在项目中将"System.Threading.Thread": "4.0.0"添加到"dependencies"上传.json。

对于基于VS 2017和.csproj的.NET Core项目,您可以将其添加到.csproj:

    <PackageReference Include="System.Threading.Thread" Version="4.0.0" />