.net core System.Threading.Thread.CurrentThread.ManagedThreadId的.NET Core 1.0等效版本
什么是(最接近的).NET Core 1.0等效值.net core System.Threading.Thread.CurrentThread.ManagedThreadId的.NET Core 1.0等效版本,.net-core,.net-standard,.net-core-rc2,.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实例如何以及何时初始化为非null值(默认值(System.
System.Threading.Thread.CurrentThread.ManagedThreadId
?
更新
正如@svick澄清的那样,System.Threading.Thread.CurrentThread.ManagedThreadId位于其常用位置。请看下面的截图。问题结束了。(仍不清楚CurrentThread属性的System.Threading.Thread实例如何以及何时初始化为非null值(默认值(System.Threading.Thread)始终==null?),但这不是本主题的主题。)
更新2
实际上,System.Threading.Thread.CurrentThread.ManagedThreadId在.NET Core 1.0应用程序项目中可用,该项目已在其project.json中定义:
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
在.NET Core 1.0类库项目中缺少,该项目已在其project.json中定义:
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
如何使System.Threading.Thread.CurrentThread.ManagedThreadId在.NET Core 1.0类库项目中可用?仍然是一样的:
System.Threading…
Thread
类位于System.Threading.Thread
包中,该包包含在Microsoft.NETCore.App
中,但不在NETStandard.Library
中。这意味着线程
将在.Net核心应用程序中开箱即用,但要在.Net核心库中使用它,您需要将“System.Threading.Thread”:“4.0.0”
添加到project.json中的“dependencies”
对于基于VS 2017和.csproj的.NET核心项目,您可以将其添加到.csproj中:
<PackageReference Include="System.Threading.Thread" Version="4.0.0" />
我真傻。是的,我昨天刚开始使用.NET Core 1.0,我错过了System.Threading.Thread.CurrentThread.ManagedThreadId。我将更新并关闭我的原始问题。我添加了更新2,以澄清主题问题/问题的上下文:问题设置回openYes,将“System.Threading.Thread”:“4.0.0”
添加到项目的依赖项部分。json
文件解决了主题问题。OT:(我是否应单独提出以下问题,StackOverflow是否接受该问题?)在哪里可以找到Microsoft.NETCore.App中包含的内容以及NETStandard.Library中包含的内容的详细说明?—我想将我的通用/实用程序.NET Framework 4.0兼容类库、web服务和控制台应用程序转换为.NETCore 1.0,以便在MS Windows和Linux下运行。我想在VS2015中保留我当前的开发/转换,但随后将项目移植到VSCode下。我在web上没有看到任何教程。@ShamilS是的,我认为问一个新问题是最好的选择,注释不是为了这个。您看到的是参考程序集的源代码(这就是为什么它在ref
目录中,而不是src
)的原因。@svick:谢谢,我现在看到了-ManagedThreadId是使用本机模式黑客实现的-这里引用了thread.cs代码中的注释:“线程的基本实现都是本机的。以下字段不应在C代码中使用。它们用于定义适当的空间,以便分配线程对象。除非在vm\object.h中修改ThreadBaseObject,否则不要更改这些字段”