Azure 云服务不能将 vmsize 设置为:ExtraSmall、Small、Medium

Azure Cloud service cannot set vmsize to nothing other than: ExtraSmall, Small, Medium

我有 Azure 云服务,我尝试将其升级到标准 D2 大小,但升级失败,我遇到了与此问题相同的错误:link

之后,我在 Azure 门户中创建了新的云服务,并以标准 D2 大小发布了我的项目,一切顺利,但是当我尝试集成持续部署(使用 Git)时失败了(我'我已经厌倦了自己的构建控制器和托管构建控制器)。之后我尝试使用 A5 实例大小,但也失败了。我两次得到的错误是:

Exception Message: Invalid enum value 'A5' cannot be deserialized into type 'Microsoft.TeamFoundation.Deployment.Workflow.AzureManagement.v1_7.InstanceSize'. Ensure that the necessary enum values are present and are marked with EnumMemberAttribute attribute if the type has DataContractAttribute attribute. (type SerializationException)

奇怪的是,我可以毫无问题地发布我的云服务,但由于某种原因我无法使用持续部署。

之后,我从我的解决方案中删除了 Azure 云服务项目并添加了新的云服务项目,但结果相同。

然后我尝试将实例大小设置为 "Large" 并且构建顺利。

还有一件事。在连接到 ASP.net MVC 项目的 Web 角色中,我可以从下拉列表中选择 Standard D1、Satndard D2 等实例。但是从连接到 ASP.net WEB Api 项目的 Web 角色我只能选择 Small、Large Medium、A5 等实例。 (我附上了截图)

为什么会这样?

Web API 选项:

MVC 选项:

我已经联系了 Azure 支持,这是我得到的答复:

我们很遗憾地通知您当前存在的系统限制限制了将新的 D 系列添加到您当前部署的能力,我们正在努力改进这一点。为了使用新的 D 系列 VM,我们为您提供了启用部署的步骤:

  • 删除 VM 并保留现有 VHD
  • 在以下其中一项中创建新的 D 系列 VM:
    • 新亲和组
    • 新建虚拟网络
    • 新云服务

各个集群具有不同的功能。并非所有集群都支持所有大小的 VM。一般来说,老的支持不支持D系列或者A8/A9。 A8/A9 集群不支持 A1 至 A7 或 D 系列。支持 A1 到 A7 和 D 系列的集群是较新的集群。完成上述步骤后,您将能够在如下所示创建的新部署中使用新发布的 D 系列 VM。