CloudConfigurationManager.GetSetting返回null,而RoleEnvironment.GetConfigurationSettingValue按预期工作

use*_*580 6 startup azure

我有一个小的可执行文件,我作为Azure Web角色的启动任务的一部分运行.我使用RoleEnvironment.GetConfigurationSettingValue从可执行文件中的cscfg读取一些设置,这很好.我得到了反馈,建议使用CloudConfigurationManager.GetSetting,但是当我尝试它时,该方法返回null(设置未找到).我可以在门户网站上看到我想要阅读的设置.

我看到有些人在CloudConfigurationManager上遇到了类似的问题,并询问了它:1.这里:CloudConfigurationManager.GetSetting返回null 2.这里:CloudConfigurationManager.GetSetting在生产中返回空字符串?

但解决方案始终是关于更新Azure SDK和所有引用,这对我不起作用.

(我们使用Azure SDK v2.0,并且所有引用都指向相同的版本.我也验证了这是在VM上运行时加载的版本)

提前感谢任何线索!

Iva*_*rić 1

我的问题是我的解决方案的 StartUp 项目更改为 WebRole 项目。这导致解决方案作为 Web 项目启动,但不在 Azure 模拟器内运行。由于CloudConfigurationManager.GetSetting尝试通过联系 Azure(或在本例中为 Azure 模拟器)来获取设置,并且它没有运行,因此它返回null.

解决方案是右键单击 StartUp 项目并选择 ,将其更改为 Azure 项目Set as StartUp Project。之后,您的 Web 角色将开始在 Azure 模拟器下运行,一切都会正常工作。