ASP.NET:未将对象引用设置为对象的实例

时间:2009-09-21 19:33:42

标签: asp.net vb.net

我有一个VB.NET站点。在我的许多页面的顶部,我有这样的代码:

Partial Class _Default
    Inherits System.Web.UI.Page
    Dim fns As New Functions
    Dim bOnOff As Boolean
    Dim LNBs As New LimsNetBusiness.SiteUI.SiteUI
    Dim LNBu As New LimsNetBusiness.User.user
    Dim LNBp As New LimsNetBusiness.PasswordFunctions.Password

当我发布网站时。我得到“对象引用未设置为对象的实例”。在线:

Dim LNBs As New LimsNetBusiness.SiteUI.SiteUI

为什么呢?我该如何解决?

6 个答案:

答案 0 :(得分:1)

您需要向我们展示我认为的LimsNetBusiness.SiteUI.SiteUI的构造函数。

鉴于此问题仅发生在远程,我认为构造函数访问服务器上不可用的资产,连接或配置文件。

我的建议是用Reflector打开DLL,看看它访问了哪些资源/其他潜在的空引用。

奇怪的是你说没有Sub New(),但我很好奇你如何在没有构造函数的情况下创建该类型的变量。

您提到SiteUI会传递到您的数据层 - 您是否确信数据层访问可以正常工作?

答案 1 :(得分:1)

信息不足。不幸的是,LimsNetBusiness不是.net命名空间。我建议查看SiteUI构造函数,看看你是否在那里失败。

答案 2 :(得分:1)

Lims Business是一个单独的DLL吗?你也发表过这个吗?

答案 3 :(得分:0)

LimsNetBusiness.SiteUI.SiteUI是引用表还是web.config文件?可能删除了表格行或类似的东西。

答案 4 :(得分:0)

这是一个NullReferenceException一些正在发生NullReferenceException的地方。

现在你没有提供关于LimsNetBusiness是什么的足够信息,但是如果我不得不猜测:

  • 由于我看不到堆栈跟踪,您应该知道异常可能包含在LimsNetBusiness.SiteUI.SiteUI的构造函数中实例化的代码中
  • 如果LimsNetBusiness.SiteUI是静态属性,则需要确保实例化返回的对象。

答案 5 :(得分:0)

LNB的初始化可能会发生错误。由于这发生在昏暗的语句中,如果这是真的,你可能不会看到错误的位置。您可以尝试将LNB的初始化移动到赋​​值语句:

Dim LNBs As LimsNetBusiness.SiteUI.SiteUI
LNBs = new LimsNetBusiness.SiteUI.SiteUI

此外,检查LimsNetBusiness.SiteUI.SiteUI的初始化,并确保应该有的地方到处都是“新”。