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

Posted

技术标签:

【中文标题】不同的 .NET 程序集引用取决于 32-64 位 [重复]【英文标题】:Different .NET assembly references depending on 32-64 bit [duplicate] 【发布时间】:2011-05-10 21:35:09 【问题描述】:

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

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

有没有更简单的方法来做到这一点?

编辑

我在想 SVN 可以以某种方式解决这个问题?

编辑

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

【问题讨论】:

【参考方案1】:

也许这有帮助:Conditional Reference in VS 2010

编辑: 这是一个更好的描述:Conditionally use 32/64 bit reference when building in Visual Studio

【讨论】:

+1:用于查找与此重复的 Q。【参考方案2】:

您不能使用 mixt 程序集来拥有相同的应用程序。您只能使用相同类型的程序集 x86 或 x64。

您不能在 32 位操作系统上运行 x64 应用程序,但其他方式是可能的。

【讨论】:

【参考方案3】:

告诉您的供应商在打开 AnyCPU 标志的情况下进行编译,并以编程方式抽象其所有内部平台相关调用,而不是要求消费者为他们这样做。

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

【讨论】:

第二次编辑(“我在两个平台上构建相同的程序”)是一个重要的编辑;它使我的开发人员 RAWR 时刻无效;)

以上是关于不同的 .NET 程序集引用取决于 32-64 位 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

asp.net提示“未能加载文件或程序集“XXXXXXXX.dll”或它的某一个依赖项。找不到指定的模块。”

32、64位系统生成的MD5编码一样吗

Inno 安装 RegAsm.exe 错误

ASP.NET MVC - 使用 C# 将引用不同程序集的模型从控制器传递到视图

Qt开发经验小技巧261-265

未能加载的文件或程序集.怎么解决