不同的.NET程序集引用取决于32-64位

时间:2010-11-16 15:37:33

标签: c# .net

我从供应商处获得了32位和64位.NET程序集。它们具有完全相同的接口(相同的类,相同的方法等)

出于某种原因,我永远不能在另一个平台上运行一种类型。到目前为止,我一直在做的只是删除引用,然后根据需要重新编译。

有更简单的方法吗?

修改

我以为SVN可以选择以某种方式解决这个问题?

修改

程序集不在GAC中。而且,需要因为我在两个平台上构建相同的程序,而不是试图在另一个平台上运行构建的东西。

3 个答案:

答案 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标志进行编译并以编程方式抽象所有内部平台相关调用,而不是要求消费者为他们执行此操作。

如果他们不这样做,您可以使用反射编写自己的代理,但我不推荐它。随着时间的推移维持这个组件会很痛苦。