TPL DataFlow是否包含在.NET 4.5或.NET 4.5.1中?

6
我很困惑。我们最近升级了.NET 4.5.1项目,并在服务器上安装了.NET 4.5.1。我正在引用GAC中的System.Threading.Tasks.Dataflow程序集,路径为C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Threading.Tasks.Dataflow \ v4.0_4.5.9.0__b03f5f7f11d50a3a \ System.Threading.Tasks.Dataflow.dll。
由于它是Framework的一部分,所以将CopyLocal设置为false,因此应该已经安装在应用程序部署的任何位置。
问题是,在服务器上运行时,它说找不到这个程序集。
我已经在这里读到它是.NET Framework 4.5的一部分:
但是,该库现在内置于.NET 4.5中。
而我在这里读到它不是!
TPL Dataflow Library(System.Threading.Tasks.Dataflow命名空间)未与.NET Framework 4.5一起分发。
怎么回事?看起来好像不是。它只是“targetting pack”的一部分吗?是我还是这些现场升级比他们的价值更大?!
2个回答

7

我不确定为什么那个页面说它是 .NET 4.5 的一部分 - 它仍然是一个类似于 Entity Framework、MVC 等的独立 NuGet 发布版本。


老实说,我真的不知道原始的 System.Threading.Tasks.Dataflow.dll 是怎么来的! :| - Steve Dunn
3
也许你安装了旧版本的TPL,并将其安装程序放入了GAC中?我相信Dataflow并不总是在NuGet上。 - Cory Nelson

1
我知道这个问题很旧了,但我也想添加我的解决方案。我发现在Visual Studio 2019安装中添加以下两个项目(运行Visual Studio Installer > 修改 > .Net桌面开发),问题就消失了,并且它能够从GAC获取System.Threading.Tasks.Dataflow。

enter image description here

编辑:安装Visual Studio 2015似乎也是必需的。显然它不是VS 2015本身,只是它附带的一些东西。但是有太多的包让我很难找出哪个是需要的。

编辑2:这并不是最好的解决方案,更像是一个权宜之计。微软建议通过Nuget下载。https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.dataflow?view=netcore-3.1

TPL Dataflow Library(System.Threading.Tasks.Dataflow命名空间)未与.NET一起分发。要在Visual Studio中安装System.Threading.Tasks.Dataflow命名空间,请打开您的项目,从“项目”菜单中选择“管理NuGet包”...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接