
未将对象引用设置到对象的实例,怎么解决啊??
本人用的是WIN7 32位系统,我在安装一个软件时(简称A),提示说要安装microsoft.NET4.0,于是我就下载了一个,安装成功之后打开软件A,就出现了这个错误提示(是英文的,这个中文的是我后来安装了NET4.5.2的提示,内容完全一样),点击继续后,在任务栏上有A的图标,但就是打不开。根据网友建议,我卸载了NET4.0(全部部件),重装,还是不行!最后我重装了系统,A还是打不开,情况依旧,于是我新下了两个不同版本的win7,情况依旧!安装了最新的NET4.5.2,还是一样,只不过错误提示变成了中文。
说明下:1、安装和卸载NET过程中都没有错误,卸载的应该干净的。
2、我更换的三个不同版本的都是win7 32位版,其中一个是U盘安装的,格式化了系统盘,最后情况一样!3、在我室友的WIN7 系统下,在安装了NET4.0后,就能正常打开打开A!
4、我还安装过XP系统,安装NET4.0后也能正常打开A!
这到底是怎么一回事啊???难道是我的主板对WIN7不兼容吗?我可是用WIN7好多年了,一直很正常啊!
跪求电脑高手解答,高分相赠!!!!
补充下:网上说的什么引用、代码、()、等等之类的理论,不太懂,也没有实质性帮助!希望大神给出一些具有实际意义有效的解决方案,不要粘贴搞些理论文字糊弄我! 展开
意思是你使用这个对象之前没有将之实例化。
例如:
Label l = new Label;
这个是已经实例化了,可以对其成员进行操作。
注意实例化是调用构造方法要加括号。
如果你是Label。
那下面如果你调用l.Text之类的属性,那就会出现你那个错误。
解决方法:
1、用VS.NET2003或VS.NET2005(主要看这个程序工程,你原来用的是哪一个开发环境了)打开此程序工程。
2、如果点击运行没有错误,及编译后没有产生语法错误,那么就要找到是在哪个功能的哪条语句中出现了上述错误。可在能执行的地方设置断点,逐句运行程序看到哪条语句后不能执行而提示了错误。
3、如果你已经new过了对象,那么看看自己new过的对象是否已经失效,也就是看看定义的对象的作用范围是否合法。
4、并且可以使用右键的快速监测来查看对象。
5、如果是调用了WebServices(及Web服务)那么看看你实例化的WebServices是否存在,并且你是否实例化了WebServices以及是否在程序工程中添加了Web引用,其中的不对称加密解密过程是否正确,是否执行了应该执行的程序代码。
扩展资料:
语言结构:
类:在C#中类的声明与C++和Java很相似。但是,不像C++,C#结构体与类是不支持继承多个父类。但是,与Java相同的是,一个结构体可以实现接口(interface)。Java的关键字import已经被替换成using,它起到了同样的作用。
布尔运算:条件表达式的结果是布尔数据类型,布尔数据类型是这种语言中独立的一种数据类型,从布尔类型到其他类型没有直接的转换过程,布尔常量true和false是C#中的关键字。错误处理:如Java中那样,通过抛出和捕捉异常对象来管理错误处理过程。
内存管理:由底层.NET框架进行自动内存垃圾回收。一个基本的C#类中包含数据成员、属性、构造器和方法。属性可以是静态或实例成员。
接口:是其他类型为确保它们支持某些操作而实现的引用类型。接口从不直接创建而且没有实际的表示形式,其他类型必须转换为接口类型。
参考资料来源:
1、所设置的变量为空值或没有取到值,一般出现在传递参数的时候出现这个问题,也会在使用DataGrid或gridview或datalist等数据控件时出现。
2、设置控件名称与codebehind里面的没有对应。
3、设置未用new初始化对象或者在程序中所引用的控件不存在。
4、然后使用try..catch...finally捕捉错误,或直接用response.write()输出所取的变量值。
5、查看代码中是否存在未初始化的变量,即可解决未将对象引用设置到对象的实例”的问题。
注意事项:
如果是没有源程序而只是访问了某个网站,那么我只能告诉,这个错误提示是程序错误,编译过程只能监测语法,而不能监测语意,所以不能解决,可以告诉所访问的网站,解决出现的此类问题。
一般的标示符,如int,string,char等等,最后都会转换为System命名空间下面的类名(如Int32,String,Char等等),当然类实例化的就更不用说了。
(1)所设置的变量为空值或没有取到值,一般出现在传递参数的时候出现这个问题,也会在使用DataGrid或gridview或datalist等数据控件时出现.。
(2)控件名称与codebehind里面的没有对应。
(3)未用new初始化对象。
(4)在程序中所引用的控件不存在。
解决方法:
(1)使用try..catch...finally捕捉错误,或直接用response.write()输出所取的变量值。
(2)查看代码中是否存在未初始化的变量。
参考资料
csdn.csdn[引用时间2018-1-23]
软件A中发生了空指针异常,简单的说,就是软件访问的内存里没有任何东西,它却想从里面拿东西出来。
如果是定制的软件,让开发人员检查信息里提到的几个类和函数,找出程序中的BUG。
如果不是,那么把软件A扔了吧。
按照你说的,别的系统或旧的系统能够正常运行,那么还有一个可能是你的系统里缺少必要的DDL文件。
这样就只能重装系统了,不要使用ghost的版本。
PS:360一贯垃圾。
我后来装的其中一个系统是用U盘装的纯净版,不是GHOST版,而且是把C盘格式化了再装的,情况依旧! XP系统也是几天刚装的,A可以打开!我室友用的系统就是我给他用U盘装的那个纯净版,A可以打开!这到底是为什么呢???
请问你的NET FRAMEWORK 4.0是从官方网站下载的么?
不是的话,那从官网(即微软中国)重新下载,免费的。
是的话,那很抱歉,恐怕我帮不到你了。
你在本地发布配置到IIS中运行看看行不行
造成这种情况的可能很多,方便的话把网站贴出来,你看看是不是缺少using System.Configuration;的引用,或者发布的时候是不是有人动过代码,是不是Web.config文件丢失了?是不是Web.config中“constr”属性被删了或隐藏了
我通常都是用WebConfigurationManager.AppSettings["constr"]方法获取Web.config内容
<appSettings>
<add key="constr" value="Server=192.168.8.250;Database=ManagerData;User ID=sa;Password=123456"/>
</appSettings>
要不你换个试试
你上面web.config中sa怎么没有密码?
你把下面的代码复制到config中试试,读取的时候用 string conn = WebConfigurationManager.AppSettings["constr"].ToString();读取,另外加上sa的密码
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="constr" value="Server=.;Database=sooomo;User ID=sa;Password=sa的密码"/>
</appSettings>
<connectionStrings/>
<system.web>
<!--
设置 compilation debug="true" 将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<compilation debug="true" />
<!--
通过 <authentication> 节可以配置 ASP.NET 使用的
安全身份验证模式,
以标识传入的用户。
-->
<authentication mode="Windows" />
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>