C# Azure功能可以';t将队列绑定到CloudQueue类型

C# Azure功能可以';t将队列绑定到CloudQueue类型,c#,azure,azure-functions,azure-storage-queues,C#,Azure,Azure Functions,Azure Storage Queues,我从同样需要CloudQueue绑定的QueueTrigger函数中得到这个错误 Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexingException:错误索引方法“QueueInstancesToImport.Run”-->System.InvalidOperationException:无法将队列绑定到类型“Microsoft.WindowsAzure.Storage.Queue.CloudQueue” 根据文档,CloudQueue

我从同样需要CloudQueue绑定的QueueTrigger函数中得到这个错误

Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexingException:错误索引方法“QueueInstancesToImport.Run”-->System.InvalidOperationException:无法将队列绑定到类型“Microsoft.WindowsAzure.Storage.Queue.CloudQueue”

根据文档,CloudQueue应该是有效的

我发现的其他潜在解决方案不完全匹配或没有帮助

我的代码

public static class QueueFormInstancesToImport
{
    [FunctionName("QueueFormInstancesToImport")]
    public static async Task Run(
        [QueueTrigger("import-queue")]string message,
        [Queue("import-queue")]CloudQueue queue,
        TraceWriter traceWriter,
        ExecutionContext context)
    {
        // Body of function
        ...
    }
}

这很可能是nuget包冲突。“CloudQueue”参数来自的程序集版本与基础函数运行时使用的stroage库版本不同。 您可以在CloudQueue定义上使用F12来查看它所绑定的完整程序集版本


您很可能已经添加了对Azure存储SDK的额外引用。删除额外的引用,只使用Azure函数模板中的引用

与您的问题没有直接关系,但您真的打算让触发器和输出针对同一队列吗?这将创建一个函数调用的无限循环。您的代码应该可以正常工作。我闻到一些裸体冲突。请检查您明确引用的唯一软件包是否为Microsoft.NET.Sdk.Functions。我可以确认,在使用Visual Studio模板启动新的Azure Functions项目时,这仍然是一个问题,此答案解决了这个问题。在浏览MS文档时,有人指示我添加对Microsoft.Azure.Storage的Nuget引用。但是,项目中对Microsoft.WindowsAzure.Storage的现有引用包含略有不同的API,对于原始帖子中描述的场景来说效果很好。如果这对其他人有帮助,我将Microsoft.WindowsAzure.Storage.Queue更改为Microsoft.Azure.Storage.Queue,这就成功了。