【发布时间】:2012-02-14 23:02:39
【问题描述】:
这是对Reference alternate to reference assembly in Visual Studio 2010?的后续跟进
我正在引用核心框架 DLL 的替代版本。 Visual Studio(和本地调试器结构)引用此文件没有问题。此外,该文件标记为Copy Local。但是,当我部署到云端时,我得到:
无法加载文件或程序集“(程序集强名称)”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。
使用远程桌面,我确定正确的文件确实在E:\approot 文件夹中以及我的其他依赖项。我假设结构正在 GAC 中查找,而不是使用我的文件。
有没有办法强制它首先使用我的 DLL?
注意:无论如何,替换 .NET CLR DLL 的整个概念都是一个巨大的 hack,因此欢迎使用 hack。当 .NET 4.5 出现支持我需要的功能时,这些都将被删除。
更多信息:我的网络角色似乎工作正常,但我的工作角色在尝试构建我的 Autofac 容器时因该错误而死。即使我在构建之前显式加载程序集也会发生这种情况,这也可以正常工作。
【问题讨论】:
-
嗯,许可证中明确禁止您所做的事情。 Azure 强制执行或假设执行此操作的可能性不为零。 DLL 的 ngen-ed 版本可能会起作用。