当我在本地开发人员结构上运行 Windows Azure Web 角色时,我收到以下错误:
当前的服务模型不同步。确保服务配置和定义文件都有效。
当我在本地开发人员结构上运行 Windows Azure Web 角色时,我收到以下错误:
当前的服务模型不同步。确保服务配置和定义文件都有效。
我的一位同事遇到了这个问题,经过一番尝试后,问题是两个服务配置文件(云和本地)具有不同数量的设置。
当他更新配置文件以使它们同步时,一切正常。
一个提示是使用 Visual Studio 中的 GUI 同时向两者添加新设置。可以通过右键单击 Web 角色和选择属性来访问 GUI。这应该会打开一个窗口。单击左侧的设置选项卡。
对我来说,这是由于我的天蓝色项目已从一台 PC 复制到另一台 PC(在此过程中从 Win 7 到 Win 8.1)。我在两者上都使用 VS 2013 社区版,但我已经从 Win7 上的 Azure 2.4 升级到 Win 8.1 机器上的 Azure 2.5。
如果您卸载 azure 项目并编辑 csproj 文件,您只需要进行小编辑(例如添加评论)并保存它,因此它会自行重新编写。这在我的情况下修复了它(我花了很长时间检查 CSDEF 和 CSCFG 文件中的错误)。一旦我重新保存了 csproj 文件,它就可以正常工作了。
我按照这里的所有答案进行了操作,但最终仍然无法正常工作,我重新启动了 Visual Studio 并成功了。
我相信解决方案是这里的一个或多个答案+重新启动VS的组合。
这发生在我身上,因为我的一个云配置文件 (.cscfg) 缺少一些在 ServiceDefinition.csdef 中定义的键值对。
手动检查文件很痛苦。有一种简单的方法可以发现差异:
在解决方案资源管理器中,右键单击构成云服务的角色之一,然后单击上下文菜单中的“属性”。
角色属性窗口将打开灰色并显示一条错误消息:
“无效的服务定义或服务配置。有关详细信息,请参阅错误列表”。
打开错误列表窗口,在某些情况下,您应该能够看到特定差异的列表,其中包含文件和属性名称。
对我有用的是:
.cscfg
和.Local.cscfg
文件是相同的(除非您Local.cscfg
出于调试目的需要有一些差异),.csdef
文件具有与文件匹配的定义,.cscfg
然后.ccproj.user
文件。重新加载项目后,一切正常。
当服务配置中没有实际故障时,可能会发生该错误。如果它发生并且一切似乎都正确,而不是重新启动 Visual Studio,只需卸载 azurecloud 项目(右键单击:卸载 proecjt
请交叉检查您的ServiceConfiguration.Cloud.cscfg
和ServiceConfiguration.Local.cscfg
文件。我的问题是,我添加了一个配置,Local.cscfg
但忘记添加相同的Cloud.cscfg
My problem was incorrect certificate definition in csdef file.
对我来说,问题是我使用的 Wifi 阻止了 Azure 正在使用的端口,改变 Wifi 解决了这个问题。
Had this issue - no errors though. I have found that for some bizarre reason the if the setting:
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
was commented out, then the workerrole would not launch.
对我来说,问题原来是vmName
我在各种环境中分配给我的角色之一的值之间的不一致。我有一个用于我的开发、测试和生产环境的 *.cscfg 文件。其中每一个都有一个角色定义,应该是
<Role name="HardWorker" vmName="SomeName">...</Role>
但有一个条目
<Role name="HardWorker" vmName="SomeOtherName">...</Role>
显然,这足以触发错误。