命名空间“Microsoft.Azure.WebJobs”中不存在 EventHubTriggerAttribute

Posted

技术标签:

【中文标题】命名空间“Microsoft.Azure.WebJobs”中不存在 EventHubTriggerAttribute【英文标题】:EventHubTriggerAttribute does not exists in namespace 'Microsoft.Azure.WebJobs' 【发布时间】:2019-06-11 21:38:57 【问题描述】:

在 Visual Studio 中创建 Azure Function 的步骤如下

    新建项目并选择Azure Function模板

    选择 Azure Function V2(.net 代码)和IoT Hub Trigger

    已生成代码,但存在引用错误。

     using IoTHubTrigger = Microsoft.Azure.WebJobs.EventHubTriggerAttribute;
     using Microsoft.Azure.WebJobs;
     using Microsoft.Azure.WebJobs.Host;
     using Microsoft.Azure.EventHubs;
     using System.Text;
     using System.Net.Http;
     using Microsoft.Extensions.Logging;
    
     namespace DeviceMessageFunction_v2
     
       public static class Function1
       
          private static HttpClient client = new HttpClient();
    
          [FunctionName("Function1")]
          public static void Run([IoTHubTrigger("messages/events", Connection = "")]EventData message, ILogger log)
          
             log.LogInformation($"C# IoT Hub trigger function processed a message: Encoding.UTF8.GetString(message.Body.Array)");
          
       
     
    

CS0234 名称空间“Microsoft.Azure.WebJobs”中不存在类型或名称空间名称“EventHubTriggerAttribute”(您是否缺少程序集引用?)DeviceMessageFunction_v2 C:\Functions\DeviceMessageFunction_v2\Function1.cs

尝试添加引用,但没有成功

这是我的工具和框架详情

Microsoft Visual Studio 企业版 2017 版本 15.7.4 Microsoft .NET 框架 版本 4.7.02558 已安装版本:企业版 Azure 应用服务工具 v3.0.0 15.0.40608.0 Azure Functions 和 Web 作业工具 15.9.02046.0

【问题讨论】:

【参考方案1】:

使用 V2 函数时,您需要使用额外的 NuGet 包,Microsoft.Azure.WebJobs.Extensions.EventHubs

(Source)

【讨论】:

以上是关于命名空间“Microsoft.Azure.WebJobs”中不存在 EventHubTriggerAttribute的主要内容,如果未能解决你的问题,请参考以下文章

命名空间“System.Configuration”中不存在类型或命名空间名称“ConfigurationManager”

Tcl学习之--命名空间

Tcl学习之--命名空间

命名空间 作用域

*args **kwargs函数的命名空间。

命名空间