VS2005 未将对象引用设置到对象的实例

网站本地测试功能全部OK,发布网站时

1. 选择 允许更新此预编译站点,生成未加密的网页文件,可以运行没问题

2. 选择 使用固定命名和单页程序集,生成处理后的网页文件,就出现问题,错误提示为:

未将对象引用设置到对象的实例。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

[NullReferenceException: 未将对象引用设置到对象的实例。]
System.Web.Script.Services.WebServiceData.GetWebServiceData(HttpContext context, String virtualPath, Boolean failIfNoData, Boolean pageMethods) +374
System.Web.Script.Services.PageClientProxyGenerator.GetClientProxyScript(HttpContext context, IPage page, Boolean debug) +46
System.Web.UI.ScriptManager.RegisterServices() +748
System.Web.UI.ScriptManager.OnPagePreRenderComplete(Object sender, EventArgs e) +243
System.Web.UI.Page.OnPreRenderComplete(EventArgs e) +75
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6198

--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42

在线急等解答,答案正确,加送积分了,希望懂行的诚心指教一下,非常勿扰!

NullReferenceException: 未将对象引用设置到对象的实例
可能的原因:
1、ViewState 对象为Null。
2、DateSet 空。
3、sql语句或Datebase的原因导致DataReader空。
4、声明字符串变量时未赋空值就应用变量。
5、未用new初始化对象。
6、Session对象为空。
7、对控件赋文本值时,值不存在。
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。
9、使用FindControl时,控件不存在却没有做预处理。
10、重复定义造成未将对象引用设置到对象的实例错误.

你可以:用try..catch...finally捕捉错误,或直接用response.write()输出所取的变量值

查看代码中是否存在未初始化的变量
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-10
因为你选的那个选项不允许发布之后的服务器编译你的网站,可能因为你的环境和服务器的环境不完全一致,所以找不到某些对象,才出的上述错误。

参考资料:http://msdn.microsoft.com/zh-cn/library/ms178731.aspx

第2个回答  2009-04-10
IIS设置FRAMEWORK的版本
相似回答