【问题标题】:Nito.AsyncEx + .Net-4.0 = 'AsyncContext' does not exist in the namespace 'Nito.AsyncEx'Nito.AsyncEx + .Net-4.0 = 'AsyncContext' 不存在于命名空间'Nito.AsyncEx'
【发布时间】:2019-05-06 16:13:48
【问题描述】:

我需要使用面向 .Net-4.0 的库运行 Nito.AsyncEx。我正在尝试以下简单代码:

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

namespace TempNet40
{
    class Program
    {
        static void Main(string[] args)
        {
            Nito.AsyncEx.AsyncContext.Run(() => MainAsync(args));
        }

        static async void MainAsync(string[] args)
        {

        }
    }
}

虽然当我的 lib 以 .Net-4.5 或更高版本为目标时,上述编译 - 它对于 .Net-4.0 失败并出现错误:

类型或命名空间名称“AsyncContext”不存在于 命名空间“Nito.AsyncEx”(您是否缺少程序集引用?)

Nito.AsyncEx(以及它的 .Net-4.0 依赖项:Microsoft.Bcl.Async)是使用 NuGet 安装的 - 我猜对于 .Net-4.0,我需要引用另一个库...有人知道哪个库吗? ?

【问题讨论】:

    标签: c# .net asynchronous .net-4.0


    【解决方案1】:

    我建议你用 NuGet 安装它,这也将帮助你管理你的依赖关系。

    只需右键单击您的项目并选择管理 NuGet 包

    如果您想自己查找依赖项,可以查看 NuGet 主页:http://www.nuget.org/packages/Nito.AsyncEx

    我设法重现了您的问题。我通过将Microsoft.Bcl 升级到版本1.1.10 解决了它

    【讨论】:

    • 谢谢,但这正是我所做的 - 首先我使用“管理 NuGet 包以获取解决方案”选项在解决方案级别安装包。然后我尝试使用“管理项目的 NuGet 包”直接为项目安装包 - 在编译期间都给了我同样的错误。在这两种情况下,我只安装了 Nito.AsyncEx - ,NuGet 自动标记了依赖关系。
    • 我设法通过升级到 Microsoft.Bcl 1.1.10 来编译您的示例
    • 是的,做到了 - 谢谢。我没有尝试更新,因为我认为 NuGet 总是安装最新的包,有趣的是发现它没有......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多