c# - Azure 引用了错误的 DLL

标签 c# azure dll

这在某种程度上是以下内容的后续:Reference alternate to reference assembly in Visual Studio 2010?

我正在引用核心框架 DLL 的替代版本。 Visual Studio(和本地调试器结构)引用此文件没有问题。此外,该文件被标记为复制本地。但是,当我部署到云时,我得到:

Could not load file or assembly '(assembly strong name)' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.

使用远程桌面,我确定正确的文件确实与其他依赖项一起位于 E:\approot 文件夹中。我假设结构正在 GAC 中查找而不是使用我的文件。

有没有办法强制它首先使用我的 DLL?

注意: 替换 .NET CLR DLL 的整个概念无论如何都是一个巨大的 hack,因此欢迎 hack。当 .NET 4.5 支持我需要的功能时,这一切都将被删除。

更多信息:看来我的 Web 角色工作正常,但当我的辅助角色尝试构建我的 Autofac 容器时,它会因该错误而终止。即使我在构建之前显式加载程序集,也会发生这种情况,这也可以正常工作。

最佳答案

您可以运行融合日志来查看它是从哪里加载的。如果其他程序正在运行并首先加载该文件,您可能需要为该进程创建一个 .config 文件。您也许可以做一些奇特的事情,例如创建一个新的应用程序域并在那里加载您的程序集,就像这对动态程序集所做的那样:

http://blogs.msdn.com/b/tom/archive/2007/12/05/dynamic-assemblies-and-what-to-do-about-them.aspx

关于c# - Azure 引用了错误的 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9160675/

相关文章:

c# - 从 Microsoft.Azure.DocumentDb 迁移到 Microsoft.Azure.Cosmos 以进行数据访问。并非所有选项都可用

Java:使用 char** 和回调作为参数加载 c++ dll

来自 DLL 的 Delphi 接口(interface)

c# - Windows 窗体 ListView 最小列宽

c# - 将字节数组转换为字符串时得到 'System.OutOfMemoryException'

C# 编译器错误?为什么这个隐式的用户定义转换不能编译?

c# - 如何使用属性将私有(private)数组公开为只读?

c# - Azure函数从站点获取json并将其传递给

java - 在 Wildfly 中配置无密码 Azure SQL

C++注册函数