我可以在32位系统上运行在64位系统上开发的C#应用程序吗?
答
你应该建立一个CPU类型设置为32位的应用程序可执行文件,以及任何设置为“任何CPU”的类库。除非你真的需要该CLR强制64位模式,32-bit can be more efficient。 (这是VS2010,IIRC中的默认设置。)
如果您引用的是任何本地库,它可能会变得更加有趣,IIRC - 您需要确保您在每个库上都使用了正确版本的库建筑。说实话,我在这方面并不是非常有经验。 This blog post虽然可以帮助你。
答
您应该将其编译为任何Cpu配置。有了这个配置,它可以在32/64位无问题地工作(如果你的代码中有com interop或者PInvoke是一个更长的故事)
这是正确的。如果尝试加载一个错误位数的程序集,则会抛出'BadImageFormatException'。至于COM,您的应用程序将无法找到正确的组件。 – jgauffin 2011-03-24 11:31:24
为什么需要将CPU类型设置为32位来构建可执行文件? – 2011-03-25 09:48:27
@Anand:你看过我提供的链接了吗? – 2011-03-25 09:56:28