【发布时间】:2019-10-31 12:16:59
【问题描述】:
我在 Azure 中托管了一个使用 ServiceStack.Redis 2.0.601 的解决方案。 应用服务 (Web API) 和本地 Windows 服务都按预期工作,但云服务工作者角色抛出绑定错误。
- 在工作角色中添加绑定重定向并启用自动绑定重定向。
- 使用 ILSpy 验证构建复制的版本与绑定重定向中定义的版本相同。
- 使用 fuslogvw.exe 捕获绑定错误,但无法使其从 Cloud Service Emulator 获取任何数据
我在其他类型的项目中使用相同的应用程序配置运行相同的代码,并且都运行良好
代码很简单,创建一个只有一个worker角色的云服务。 添加 StachExchange.Redis nuget 版本 2.0.601 并尝试使用以下行连接 REDIS 实例:
var connection = ConnectionMultiplexer.Connect(#ConnectionString#);
这是我在 WorkerRole.OnStart 方法中的代码中唯一的一行。
System.BadImageFormatException: '无法加载文件或程序集 'System.Memory, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 或其依赖项之一。不应加载引用程序集以供执行。它们只能在 Reflection-only loader 上下文中加载。 (来自 HRESULT 的异常:0x80131058)'
【问题讨论】:
标签: azure-cloud-services azure-worker-roles servicestack.redis assembly-binding-redirect