'ServiceRuntime.RoleEnvironment'的类型初始化程序引发了异常

时间:2012-10-28 11:42:43

标签: azure-role-environment

我有一个azure实用程序dll,它有一种方法可以从ServiceConfiguration读取配置值,并且还有一个回退代码,可以从AppSettings web.config读取RoleEntironment没跑 此DLL适用于在本地和生产云环境中运行的Azure WCF项目。

出于某种原因,我在IIS上的Rackspace服务器上托管这个WCF服务。

在我的本地计算机IIS上,WCF服务正常,但在Rackspace上崩溃时出现以下错误:

  

“Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment”的类型初始化程序引发了异常。

我已在机架空间的bin中复制了WindowsAzure.ServiceRuntime.dllDiagnostics.dllStorageClient.dll。它仍然会出现同样的错误。

我也尝试将<startup useLegacyV2RuntimeActivationPolicy="true">复制到Web.config,但它仍无效。

有什么想法吗?我是否缺少更多的云DLL或需要更多配置?

2 个答案:

答案 0 :(得分:6)

我最近经历了这种痛苦。它最终成为Azure项目文件中的Microsoft.WindowsAzure.Diagnostics dll的不匹配版本导致问题。如果您具有本地工作副本并且从先前版本成功部署,则可以从Azure VM复制已部署的文件,并将它们与您的本地集进行比较(这是我失败的工作者角色)。如果不检查版本以确保正在引用的版本包含在部署中,且CopyLocal设置为true。

答案 1 :(得分:0)

我通过在配置文件中添加useLegacyV2RuntimeActivationPolicy =“true”解决了这个问题

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>