C# 类型或命名空间名称AsyncLocal<&燃气轮机;找不到

C# 类型或命名空间名称AsyncLocal<&燃气轮机;找不到,c#,asynchronous,C#,Asynchronous,我正在尝试在我的项目中集成一些代码。有一个异步本地对象 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; ... private readonly AsyncLocal<bool> callbackExecutionInProgress; 使用系统;

我正在尝试在我的项目中集成一些代码。有一个异步本地对象

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

...

private readonly AsyncLocal<bool> callbackExecutionInProgress;
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用系统线程;
使用System.Threading.Tasks;
...
私有只读异步本地callbackExecutionInProgress;
生成编译器错误:严重性代码描述项目文件行抑制状态 错误CS0246找不到类型或命名空间名称“AsyncLocal”(是否缺少using指令或程序集引用?)。我在谷歌上找不到关于这个问题的任何信息。根据Microsoft的说法,这应该在System.Threading中定义,但引用该命名空间并没有帮助。 我还有别的事要做吗

.Net=4.7.02558问题已修复。 这确实是框架的错误版本。当我在菜单栏中打开帮助->关于Microsoft Visual Studio时,它会说.NET Framework版本是4.7.02558。但在项目文件中说是v4.5.2。这在某种程度上是矛盾的


我将版本更改为4.6.1,现在可以使用了。

您的目标.NET Framework版本是什么?是4.6还是更高版本?(或文档中提到的任何其他内容:)“我的编译器无法识别AsyncLocal”-阅读、显示实际的编译器错误并分享您的研究。它不是一个对象。这是一种类型。您正在声明该类型的变量,该类型的对象可以分配给该变量。正如建议的那样,您应该始终首先查看文档。如果尚未导入所需的命名空间、引用所需的程序集或针对所需的.NET版本,则将无法使用该类型。我已引用所需命名空间System.Threading。我必须手动引用某些程序集吗?我想.net版本应该没问题。