Service Fabric .Net Framework 4.5.1和4.6

时间:2015-11-21 23:29:21

标签: azure-service-fabric

将目标框架从4.5.1更改为4.6 Auzure中的服务失败后,本地部署正在运行。

我是否需要添加.Net 4.6支持? - 我无法在azure中找到我的群集中可用的框架。

谢谢

  

ApplicationName:   fabric:/Lending20.Service.IdentityManagement AggregatedHealthState
  :错误UnhealthyEvaluations:                                      不健康的服务:100%(1/1),ServiceType ='IdentityManagementServiceType',                                      MaxPercentUnhealthyServices = 0%。

     

不健康的服务:   服务名称='织物:/Lending20.Service.IdentityManagement/Identity                                      ManagementService',AggregatedHealthState ='错误'。

     

不健康的分区:100%(1/1),   MaxPercentUnhealthyPartitionsPerService = 0%。

     

不健康的分区:   的partitionid = '7c68b397-fda3-491d-9e17-921cd24217ca',                                      AggregatedHealthState = '错误'。

     

错误事件:SourceId ='System.FM',Property ='State'。

     

ServiceHealthStates:                                      服务名称 :                                      面料:/Lending20.Service.IdentityManagement/IdentityManagementService                                      AggregatedHealthState:错误

     

DeployedApplicationHealthStates:                                      ApplicationName:fabric:/Lending20.Service.IdentityManagement                                      NodeName:_lending1                                      AggregatedHealthState:好的

     

HealthEvents:                                      SourceId:System.CM                                      财产:国家                                      HealthState:好的                                      SequenceNumber:3464                                      SentAt:11/21/2015 12:38:08 PM                                      收到时间:2015年11月21日下午12:38:08                                      TTL:无限                                      描述:已创建应用程序。                                      RemoveWhenExpired:False                                      IsExpired:错误                                      转换:警告 - > Ok = 11/21/2015 12:38:08 PM,LastError = 1/1/0001                                      凌晨12:00:00

6 个答案:

答案 0 :(得分:17)

您可以使用以下ARM模板安装.NET 4.6.1。请注意,它依赖于此script(由Service Profiler使用)。您也可以将其替换为任何其他PowerShell脚本。

该参数是节点的基本名称。因此,如果群集中有VM0,.. VM5,则应设置vmName ='VM'。 vmExtensionLoop设置为5个节点;你也可以改变它。

如果使用ARM模板部署群集,则可以将其作为其中的一部分包含在内。请注意,它可能会降低比例集的部署速度,因为它需要重新启动。

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "type": "string",
      "metadata": {
        "description": "Virtual machine name."
      },
    }
  },
  "resources": [
    {
      "apiVersion": "2015-05-01-preview",
      "type": "Microsoft.Compute/virtualMachines/extensions",
      "name": "[concat(parameters('vmName'),copyIndex(0), '/CustomScriptExtensionInstallNet461')]",
      "location": "[variables('location')]",
      "tags": {
        "displayName": "CustomScriptExtensionInstallNet461"
      },
      "properties": {
        "publisher": "Microsoft.Compute",
        "type": "CustomScriptExtension",
        "typeHandlerVersion": "1.4",
        "autoUpgradeMinorVersion": true,
        "settings": {
          "fileUris": [ "https://gist.githubusercontent.com/aelij/7ea90dda4a187a482584/raw/a3e0f946d4a22b0af803edb503d0a30a263fba2c/InstallNetFx461.ps1" ],
          "commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File InstallNetFx461.ps1"
        }
      },
      "copy": {
        "name": "vmExtensionLoop",
        "count": 5
      }
    }
  ]
}

答案 1 :(得分:5)

.NET中使用的默认Windows Server 2012映像中尚未提供.NET 4.6。此时,您唯一的选择是登录每个VM并进行安装。

答案 2 :(得分:3)

使用Windows Server 2016映像获取.net 4.6.1。预安装。 vmImageSku:在挑战集群时使用“2016-Datacenter”。

答案 3 :(得分:0)

另一个选项是使用azure资源组模板,该模板包含一个DSC扩展,用于配置您的VM安装.net 46。 这是我的dsc powershell中的片段,用于处理.net 461的安装     codegist获取更完整的脚本

答案 4 :(得分:0)

在Azure本身支持4.6之前,我将使用预装了.NET 4.6的自定义VM映像。有关如何创建和使用一个的详细信息,请参阅this article

答案 5 :(得分:0)

现在,在SDK 2.5.216和Runtime 5.5.216

的发行版中提供了.NET 4.6及更高版本

有关详细信息,请参阅:https://azure.microsoft.com/en-us/blog/announcing-azure-service-fabric-5-5-and-sdk-2-5/