我创建了在 IIS 下运行的 web 服务,它是 x64 位的。我在 Azure 机器(ws2008 r2)上使用自定义安装脚本部署了它。我创建了自定义应用程序池(64 位,托管管道模式:经典,.net v2,使用 NetworkService 帐户作为服务用户)。一切似乎都配置正确,但是当我尝试运行我的应用程序时,出现以下错误:
System.TypeInitializationException:“Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment”的类型初始化程序引发了异常。---> System.TypeInitializationException: '' 的类型初始化程序引发了异常。---> .ModuleLoadException: C++ 模块在尝试初始化默认应用程序域时加载失败。
我可以运行独立的 win 表单应用程序,并且此方法可以正常工作。更重要的是,当我将应用程序池切换到 32 位并运行我的应用程序然后它失败(因为它具有 x64 位组件),但是稍后当切换回 x64 时它可以正常工作,RoleEnvironment 返回正确的数据。
你有什么想法在配置方面我可以做错什么,所以这个模块不能在 x64 位版本中加载?