我可以在32位系统上运行在64位系统上开发的C#应用程序吗?

我可以在32位系统上运行在64位系统上开发的C#应用程序吗?,c#,.net,C#,.net,各位程序员,如果我在64位系统上制作了一个C#app,我能在32位系统上(或64位系统上的32位)毫无问题地运行它吗?您应该为任何Cpu配置编译它。使用此配置,它可以在32/64位下正常工作(如果您的代码中有com interop或PInvoke,这是一个较长的故事)您可能应该构建CPU类型设置为32位的应用程序可执行文件,以及设置为“任意CPU”的任何类库。除非您确实需要CLR强制64位模式。(这是VS2010、IIRC中的默认值。) 如果您正在引用任何本机库,它可能会变得更复杂,IIRC-您

各位程序员,如果我在64位系统上制作了一个C#app,我能在32位系统上(或64位系统上的32位)毫无问题地运行它吗?

您应该为任何Cpu配置编译它。使用此配置,它可以在32/64位下正常工作(如果您的代码中有com interop或PInvoke,这是一个较长的故事)

您可能应该构建CPU类型设置为32位的应用程序可执行文件,以及设置为“任意CPU”的任何类库。除非您确实需要CLR强制64位模式。(这是VS2010、IIRC中的默认值。)


如果您正在引用任何本机库,它可能会变得更复杂,IIRC-您需要确保在每个体系结构上使用正确版本的库。老实说,我在这方面没有太多经验。不过可能会对你有所帮助。

没错。如果试图加载获得错误位的程序集,将引发
BadImageFormatException
。至于COM,您的应用程序根本找不到正确的组件。为什么需要在CPU类型设置为32位的情况下构建可执行文件?