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

Sha*_*ilS 11 .net-core .net-core-rc2 .net-standard

什么是(最接近的).NET Core 1.0等价物

System.Threading.Thread.CurrentThread.ManagedThreadId 
Run Code Online (Sandbox Code Playgroud)

更新

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

在此输入图像描述

更新2

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

"frameworks": {
  "netcoreapp1.0": {
  "imports": "dnxcore50"
}
Run Code Online (Sandbox Code Playgroud)

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

"frameworks": {
  "netstandard1.6": {
   "imports": "dnxcore50"
}
Run Code Online (Sandbox Code Playgroud)

如何在.NET Core 1.0类库项目中使System.Threading.Thread.CurrentThread.ManagedThreadId可用?

svi*_*ick 21

它仍然是一样的:.System.Threading.Thread.CurrentThread.ManagedThreadId

Thread班是在System.Threading.Thread包,它包含在Microsoft.NETCore.App,但不是在NETStandard.Library.这意味着,Thread将制定在.NET核心应用的方块,但在.NET核心库中使用它,你需要添加"System.Threading.Thread": "4.0.0""dependencies"您的project.json.

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

    <PackageReference Include="System.Threading.Thread" Version="4.0.0" />    
Run Code Online (Sandbox Code Playgroud)