vs13 c#64位系统下编的程序无法在32位系统运行

问题描述

vs2013c#64位系统下编的程序无法在32位系统运行。。我修改目标平台X86也不行修改配置管理里面X86也不行求大神教。。。

解决方案

解决方案二
如果你是WEB程序的话那么修改IIS的的应用程序池的高级设置把启用32位应用程序修改为True
解决方案三
不能运行有很多可能未必和x64有关。报什么错误。
解决方案四
引用2楼caozhy的回复:

不能运行有很多可能未必和x64有关。报什么错误。

winform窗体程序。报错未将对象引用设置到对象的实例但是其他人都没问题啊就32位会这样
解决方案五
引用3楼qq_16488883的回复:

Quote: 引用2楼caozhy的回复:
不能运行有很多可能未必和x64有关。报什么错误。

winform窗体程序。报错未将对象引用设置到对象的实例但是其他人都没问题啊就32位会这样

有关调用实时(JIT)调试而不是此对话框的详细信息请参见此消息的结尾。**************异常文本**************System.NullReferenceException:未将对象引用设置到对象的实例。在..()在Zzzz.Form1.(Object,EventArgs)在System.Windows.Forms.Control.OnClick(EventArgse)在System.Windows.Forms.Button.OnClick(EventArgse)在System.Windows.Forms.Button.OnMouseUp(MouseEventArgsmevent)在System.Windows.Forms.Control.WmMouseUp(Message&m,MouseButtonsbutton,Int32clicks)在System.Windows.Forms.Control.WndProc(Message&m)在System.Windows.Forms.ButtonBase.WndProc(Message&m)在System.Windows.Forms.Button.WndProc(Message&m)在System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&m)在System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&m)在System.Windows.Forms.NativeWindow.Callback(IntPtrhWnd,Int32msg,IntPtrwparam,IntPtrlparam)
解决方案六
就你报错来看和操作系统没关系应该是某个你引有的DLL或者控件在目标机上面没有而你开发的电脑上面是有的。
解决方案七
在xp下重新编译试试
解决方案八
我也有同样的问题楼主找到解决办法了么
解决方案九
你应该选择anycpu而不是x86
解决方案十
修改配置管理里面改为anycpu
解决方案十一
点右键以管理员身份运行试试
解决方案十二
打日志看看具体是什么错误哪个对象为空。

时间: 2024-10-08 00:18:34

vs13 c#64位系统下编的程序无法在32位系统运行的相关文章

64位Solaris系统上gcc在编译出来的程序默认是32位总结

最近发现一个问题,gcc在64位Solaris上编译出来的程序默认是32位的,而在64位Linux上编译出来的程序默认就是64位的,觉得有点奇怪,在国外的网站上找到原因,原来这是Solaris有意而为之.总结一下,有以下几点: (1)64位的gcc或程序不一定比32位运行快: (2)Studio程序默认是32位的,gcc最好和它行为保持一致: (3)从用户体验出发,以前都是默认生成32位程序,现在一下变成64位,用户可能需要改很多配置: (4)64位Solaris位的gcc可以既编译32位,又编

64系统下如何代码实现创建32位的odbc数据源

问题描述 64系统下如何代码实现创建32位的odbc数据源?stringSQLSRV32dll=@"C:WINDOWSsystem32SQLSRV32.dll";boolis64Bit;is64Bit=Environment.Is64BitOperatingSystem;if(is64Bit)//64位的机器{SQLSRV32dll=@"C:WINDOWSSysWOW64SQLSRV32.dll";}RegistryKeyregKey=Registry.LocalM

如何判断Unix系统的一个库文件是32位还是64位的

如何判断Unix系统的一个库文件是32位还是64位的 某些时候,我们需要知道操作系统的位数,或者配置插件的时候需要知道主程序的位数(例如配置apache插件的时候需要知道apache的位数以便配置相应的插件),最简单的办法就是执行file命令,如: file 命令 Linux: # file libnss1_files-2.2.4.so  libnss1_files-2.2.4.so: ELF 32-bit LSB shared object, Intel 80386, version 1, n

发布了一个网站,但是布到64位系统下面就报错,32位没问题

问题描述 第一次报错是framwork没有权限,32位下面可以,然后发现64系统的framwork没有装好,装好后,进入网页的登录页面,但是输入用户名密码,报错没有对对象实例化,用户名密码在数据库中已存在,应该是没有读取到数据库的数据,是不是64位的framwork跟32位的程序不兼容,求解决办法 解决方案 解决方案二:设置IIS的应用程序池中的高级设置把启用32位应用程序设置为True就行了解决方案三:有可能涉及到版本问题,你最好还是跟踪一下解决方案四: 解决方案五:没有对对象实例化,什么对象

用64位Juno 64位 SP1环境替换原来的Juno 32位 启动Eclipse报错

64位Eclipse运行时提示"Failed to load the JNI shared library \Java\jre6\bin\client\jvm.dll"的一个解决方案 由于开发环境改变,改用64位Juno 64位 SP1环境替换了原来的Juno 32位.结果启动Eclipse报错: "Failed to load the JNI shared library "E:\2000\Java\JDK6\bin\..jre\bin\client\jvm.dl

java 把64位long,转成2个32位的Int,再回转成long

java中long是64位,正好可以转成2个32位的int. 项目中正好 要做这种转换,所以,记录一下转换过程. 简单事例: long i = 55; int i1 = (int) i; int i2 = (int) (i << 32); System.out.println("i1:" + i1 + ";i2:" + i2); long l1 = (i2 & 0x000000ffffffffL) << 32; long l2 = i

C# 32位程序访问64位系统注册表

原文:C# 32位程序访问64位系统注册表 我的上一篇文章已经阐述了"32位程序和64位程序在64位平台上读\写注册表的区别",那么接下来将要回答上篇所留下来的一个问题:32位程序如何访问64位系统注册表(即:64位程序所访问的注册表位置). 我们已经知道: ①:本机模式 64 位程序运行在纯模式下,并且访问键和存储在以下注册表子键中的值:HKEY_LOCAL_MACHINE\Software ②:32 位程序运行在 WOW64 模式下,并且访问键和值存储在以下注册表子项中:HKEY_

64位系统下用vs2012 编译qt程序,请问怎么编译出在32位系统可以运行的程序

问题描述 64位系统下用vs2012 编译qt程序,请问怎么编译出在32位系统可以运行的程序 我现在想把写好的qt程序打包,但是在32位系统上跑不起来, 然后我编译时把平台改为win32,又提示无法编译,编译失败, 请问在64位windows系统怎么编译出可以在32位系统运行的程序 解决方案 需要在编译设置里面修改一些条件编译的参数. 解决方案二: 需要设置编译选项 或直接运行32位的gcc编译系统

Windows系统32位和64位的区别在哪里

  Windows系统32位和64位的区别在哪里          如何确定32位和64位系统? 计算机体系结构是32位还是64位取决于计算机内部的处理器(CPU).目前,大多数计算机处理器属于这两个类别之一. 64位处理器比对应的32位处理器指数级更强大,因为它们可以保存和处理更多的信息. 要了解两者之间的差异的大小,你必须理解一点关于二进制计数,二进制只有两个数 0或1. 因此,32位数具有2 ^ 32个可能的地址,也就是4,294,967,296.相反,64位数字的容量是2 ^ 64,也就