我从供应商处获得了32位和64位.NET程序集。它们具有完全相同的接口(相同的类,相同的方法等)
出于某种原因,我永远不能在另一个平台上运行一种类型。到目前为止,我一直在做的只是删除引用,然后根据需要重新编译。
有更简单的方法吗?
修改
我以为SVN可以选择以某种方式解决这个问题?
修改
程序集不在GAC中。而且,需要因为我在两个平台上构建相同的程序,而不是试图在另一个平台上运行构建的东西。
答案 0 :(得分:8)
也许这会有所帮助:Conditional Reference in VS 2010
编辑: 这里有一个更好的描述:Conditionally use 32/64 bit reference when building in Visual Studio
答案 1 :(得分:1)
使用mixt程序集不能拥有相同的应用程序。您只能使用相同类型的asssembly x86或x64。
您无法在32位操作系统上运行x64应用程序,但可能在其他地方运行。
答案 2 :(得分:1)
告诉您的供应商使用AnyCPU标志进行编译并以编程方式抽象所有内部平台相关调用,而不是要求消费者为他们执行此操作。
如果他们不这样做,您可以使用反射编写自己的代理,但我不推荐它。随着时间的推移维持这个组件会很痛苦。