2009-09-21 66 views
1

我有一个VB.NET网站。在我的许多页面的顶部,我有这样的代码:ASP.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 

为什么?我该如何解决?

+0

本身没有真正的构造函数。这里需要注意的是,它在本地工作正常,这只发生在另一台服务器时 – andrewWinn 2009-09-21 19:37:33

+0

您需要向我们展示LimsNetBusiness.SiteUI.SiteUI的构造函数,我会假设。 – 2009-09-21 20:29:47

+0

没有“Sub New()” – andrewWinn 2009-09-21 20:30:54

回答

1

你需要向我们展示LimsNetBusiness.SiteUI.SiteUI的构造函数,我会假设。

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

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

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

您提到SiteUI传递到您的数据层 - 您确信数据层访问工作正常吗?

+2

如果您想要获取更多信息,您应该将其作为评论发布,而不是作为答案。 – Brandon 2009-09-21 19:37:55

+1

在我的“DataAccess”类中,我引用了WEB.CONFIG中的一个不同的连接字符串。 。 。 。缺少资源是正确的。谢谢你的帮助 – andrewWinn 2009-09-22 10:38:04

+0

欢迎,很高兴我能指出你在正确的方向。 – 2009-09-24 17:27:17

1

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

1

Is LimsNetBusiness是一个单独的DLL吗?你也发布了吗?

+0

是的,它是一个单独的DLL,是的它也发布了。 – andrewWinn 2009-09-21 19:59:33

0

是否LimsNetBusiness.SiteUI.SiteUI引用了一个表或者web.config文件?也许一个表格行被删除或类似的东西。

+0

它实际上只不过是为LimsNetData DLL传递 – andrewWinn 2009-09-21 20:05:02

0

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

现在你没有提供什么LimsNetBusiness足够的信息,但如果要我猜:

  • 因为我看不到你的堆栈跟踪,你应该知道的事实例外可能包含在构造函数中实例化的代码中LimsNetBusiness.SiteUI.SiteUI
  • 如果LimsNetBusiness.SiteUI是一个静态属性,则需要确保实例化返回的对象。
0

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

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

此外,在LimsNetBusiness.SiteUI.SiteUI的初始化检查并确保有一个“新的”无处不在,应该有。

相关问题