将目标框架从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
答案 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的安装 code或gist获取更完整的脚本
答案 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/