【发布时间】:2011-04-04 21:04:28
【问题描述】:
正如标题所说,如果我更改 vb.net 程序集的目标 cpu,会破坏二进制兼容性吗?
【问题讨论】:
-
您能否更具体地说明您要避免的问题是什么?
-
我会这么认为 - 但我不确定(因此有此评论)。
正如标题所说,如果我更改 vb.net 程序集的目标 cpu,会破坏二进制兼容性吗?
【问题讨论】:
“二进制兼容性”是一个 VB6 术语,它与生成 COM dll 相关,该 COM dll 对接口和类使用相同的 Guid,因此您可以更新现有的 dll,而不必担心您的更新会破坏现有的程序。 .NET 代码的规则完全不同,抖动有很大帮助。
DLL 项目的平台目标设置也不是很相关。只有 EXE 项目的设置很重要,它决定了进程的位数。如果它依赖于旧的 32 位代码,您可以考虑将您的 DLL 强制为 x86。这将使程序在 BadImageFormatException 上更快地崩溃,而不是得到一个模糊的 COM 异常。
【讨论】: