Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法启动WebJob-“;不支持Azure存储仿真程序";_C#_Azure_Azure Storage_Azure Queues - Fatal编程技术网

C# 无法启动WebJob-“;不支持Azure存储仿真程序";

C# 无法启动WebJob-“;不支持Azure存储仿真程序";,c#,azure,azure-storage,azure-queues,C#,Azure,Azure Storage,Azure Queues,在开发Azure WebJob时,我遇到了一个异常 无法验证Microsoft Azure WebJobs SDK存储帐户。这个 不支持Microsoft Azure存储仿真程序,请使用 Microsoft Azure存储帐户托管在Microsoft Azure中。' 这似乎相当常见,解决方案通常是将连接字符串更新为。然而,在我的例子中,我已经有了这个特定的连接字符串 此外,我在同一个解决方案中有两个WebJob:我在这两种情况下使用完全相同的连接字符串,而另一个WebJob连接没有任何问题 在

在开发Azure WebJob时,我遇到了一个异常

无法验证Microsoft Azure WebJobs SDK存储帐户。这个 不支持Microsoft Azure存储仿真程序,请使用 Microsoft Azure存储帐户托管在Microsoft Azure中。'

这似乎相当常见,解决方案通常是将连接字符串更新为。然而,在我的例子中,我已经有了这个特定的连接字符串

此外,我在同一个解决方案中有两个WebJob:我在这两种情况下使用完全相同的连接字符串,而另一个WebJob连接没有任何问题

在App.config中,我有

当我这样做的时候,异常就会被抛出

config.StorageConnectionString = ...
我正在运行Azure Storage Emulator的v5.2,它正在运行。正如我所说,另一个WebJob能够连接并运行,没有任何问题,而且它们都有相同的App.config文件

我还注释掉了WebJob中的所有其他代码,所以它应该做的就是尝试启动并连接到队列

最后,即使我为实时存储声明了连接字符串,我仍然会得到相同的异常


为什么??这些连接详细信息有什么问题?

检查您是否正在运行Microsoft.Azure.WebJobs v1.x或更早版本。我记得在Microsoft.Azure.WebJobs软件包的v1.x中,不支持使用AzureWebJobsDashboard或AzureWebJobsStorage的模拟器(我不记得哪个不受支持)。直到>=v2.x,您才可以使用模拟器来处理这些密钥。

您在每个项目中使用的Microsoft.Azure.WebJobs版本是什么?我记得在Microsoft.Azure.WebJobs软件包的v1.x中,不支持使用AzureWebJobsDashboard或AzureWebJobsStorage的模拟器(我不记得哪个不受支持)。直到>=v2.x,你才可以使用模拟器来处理这些密钥。如果你把它放在一个答案中而不是一个注释中,你就会得到完整的分数。太棒了,就是这样。我假设如果我使用VS 2017 WebJob项目模板,我将是最新的,但显然不是。它引用了1.2版的开箱即用。更新到v2解决了这个问题。
<appSettings>
    <add key="StorageConnectionString" value="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;" />
    <!--<add key="StorageConnectionString" value="UseDevelopmentStorage=true" />-->
</appSettings>
var config = new JobHostConfiguration {
                                          JobActivator = new WebJobActivator(kernel)
                                      };
config.DashboardConnectionString = "DefaultEndpointsProtocol=https;AccountName= ... ;AccountKey= ... ";
config.StorageConnectionString = "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;";
config.StorageConnectionString = ...