当我在Azure的CloudService中部署Classic WorkerRole时,出现以下异常。有见识吗?
它在本地运行良好,但是在部署期间会立即崩溃。
15:05:35-角色更新程序的实例0繁忙详细信息:正在启动 角色...未处理的异常:找不到方法:'System.String System.String.Format(System.IFormatProvider,System.String, System.Object,System.Object)”。在 Microsoft.ServiceBus.Messaging.Configuration.KeyValueConfigurationManager.Validate() 在 Microsoft.ServiceBus.Messaging.Configuration.KeyValueConfigurationManager.CreateNamespaceManager() 在 Microsoft.ServiceBus.NamespaceManager.CreateFromConnectionString(String connectionString)位于PricingUpdater.WorkerRole.OnStart()中 WorkerRole.cs:第107行位于 Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeRoleInternal(RoleType roleTypeEnum) Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.b__0() 在System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,ContextCallback回调,对象状态,布尔值 reserveSyncCtx)位于 System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,对象状态,布尔值 reserveSyncCtx)位于 System.Threading.ExecutionContext.Run(ExecutionContext executeContext,ContextCallback回调,对象状态),位于 System.Threading.ThreadHelper.ThreadStart()
答案 0 :(得分:2)
我本人也遇到此问题,根本原因是ServicConfiguration.Cloud.csfg文件中的osFamily设置。我的设置为2,不支持.Net版本4.6.2
https://docs.microsoft.com/en-us/azure/cloud-services/cloud-services-guestos-update-matrix#releases
我将我的更改为5,然后又重新工作了。
答案 1 :(得分:0)
这是由于将.NET版本更改为4.6.2并与更新的ServiceBus库5.0.0结合使用的。
将其更改回.NET 4.5.2,并将Microsoft.Servicebus NuGet程序包从5.0.0还原到3.4.2,现在可以正常使用了。