Azure Worker角色忽略ServiceConfiguration.Local配置

时间:2015-02-11 18:10:09

标签: azure azure-worker-roles azure-cloud-services

我正在开发一个包含两个单独的工作者角色的Azure云服务。我已经完成了第一个辅助角色(角色#1)的开发,现在我开始开发第二个辅助角色(角色#2)。

在Role#2中,我在ServiceDefinition.csdef文件中定义了一些配置设置,包括标准的 Microsoft.ServiceBus.ConnectionString 设置,以及ServiceConfiguration.Local.cscfg中的相应设置和ServiceConfiguration.Cloud.cscfg文件。

我的云服务项目定义如下:

enter image description here

当我在本地Azure Compute Emulator(Express)中启动角色#2时,将忽略该角色的所有配置设置。相反,配置设置取自本地App.config文件,如下面的屏幕截图所示:

enter image description here

我正在使用CloudConfigurationManager.GetSetting()辅助方法来检索配置设置,而不是使用折旧的(对于Azure)ConfigurationManager。*帮助程序。作为参考,我使用的是Azure SDK 2.5版。

我不明白为什么忽略ServiceDefinition.csdef和ServiceConfiguration.Local.cscfg中定义的配置设置。

对此人的任何建议都表示赞赏,因为它让我感到难过。

1 个答案:

答案 0 :(得分:1)

我已经设法在睡觉后解决了这个问题!一双新鲜的眼睛等: - /

事实证明,角色#2引用了早于Role#引用版本的NuGet包 Microsoft.WindowsAzure.ConfigurationManager WindowsAzure.ServiceBus 的版本1。

将角色#2的工作者角色类库项目中的这些包更新到与角色#1匹配的版本现在已解决该问题。具体来说, Microsoft.WindowsAzure.ConfigurationManager 引用版本1.8.0.0并更新到版本2.0.3以解决此问题。角色#1已经引用了2.0.3版。

作为参考,我使用以下Package Manager Console命令更新引用:

Update-Package Microsoft.WindowsAzure.ConfigurationManager -ProjectName [PROJECT-NAME] -Version 2.0.3