- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个第 3 方集会。一种是针对 x86 目标编译的,另一种是针对任何 CPU 编译的。有没有办法在同一个应用程序中使用它们。
现在我的应用程序已成功编译但无法运行。我尝试为 x86 和任何 CPU 构建 EXE 文件,但没有成功。我可以使用 corflags 来更改目标平台位,但程序集已签名,我不想更改它们的签名。
有人可以帮忙吗?
最佳答案
您可以引用它们 - 但只有当条目 .exe 程序集设置为 x86 或设置为任何 CPU 并在 x86 计算机上运行时,应用程序才会运行。对于 IIS 托管的进程,位数由 IIS 本身决定。
举例来说 - 我刚刚创建了这个 vs2010 解决方案:https://docs.google.com/open?id=0Bw_NnV9fhgmgSGxGOEZXSnVsd1k
控制台应用程序可以是 x86/任何 APU,并引用两个库 - 一个是 x86,另一个是任何 CPU。
如果您将 exe 设置为 x86 并在 x64 上运行它,那么它可以正常工作(显然它可以在 x86 上运行没有问题)。但是,如果您将 exe 设置为“任何 CPU”并在 x64 上运行它,它将崩溃(并出现 BadImageFormatException
)。同样,在 x86 上运行它仍然可以工作。
入口程序集的风格决定了进程的位数;因此可以加载任何程序集的预期位数。
就您而言,您关注的程序集可能不一定是问题所在 - 而是它们引用的程序集。异常可能会告诉您更多信息。
关于.net - 如何从同一个 EXE 应用程序引用 x86 和任何 CPU 程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10780972/
我是一名优秀的程序员,十分优秀!