Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
763 views
in Technique[技术] by (71.8m points)

vb.net - Why am I getting, "Object reference not set to an instance of an object." but no line of code is implicated?

When I try to build my VB.NET solution, I get the error, "Object reference not set to an instance of an object." but in the Error List pane, the File, Line, Column, and Project columns are blank:

enter image description here

How can I solve the problem if it won't tell me where it is?

UPDATE

I selected the Project, then "Show Project Dependency Diagram" and got this:

enter image description here

I don't know what I'm looking at.

UPDATE 2

I don't know if this is unusual or to be expected, but if I mash F5, I do get a page in a browser (http://localhost:2030/) without any err msg; granted, the page looks like North Dakota from an airplane in winter.

UPDATE 3

Now (after fixing a couple of obvious issues, such as unterminated html tags), it won't even say it's fine with a Rebuild All (improving it made it "worse").

With both Rebuild All and Build, I get, "Object reference not set to an instance of an object." but with no indication of where that unset object reference was found.

Scarier yet, when I run Resharper > Inspect > Code Issues in Solution, there are, among other things, 10 VB Compiler Errors, of the following two types:

Cannot resolve symbol '_GridName'
Cannot resolve symbol 'Class1'

Why would there be compiler errors and yet it still compiles? This is getting curiouser and curiouser.

As an idea for how many warnings, errors, etc. this project has, here is an overview of the things that Resharper tsk-tsks about:

enter image description here

20 errors and a thousand other "issues" - it makes me feel like writing a country song!

UPDATE 4

When I right-click the project and select "View in Page Inspector" I see the following:

enter image description here

Could this be the problem and, if so, how do I see to it that the Dev server is running on .NET 4.0 or later?

Or is this a red herring?

UPDATE 5

Now there's a Warning that may shed some light here:

C:MemberOrderEntryMembersOrderEntryMembersOrderEntryWeyandDefault.aspx: ASP.NET runtime error: Object reference not set to an instance of an object.

This is the line of code the warning implicates:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Weyand._Default" title="Web Order Entry" %>

The whole Default.aspx file is:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Weyand._Default" title="Web Order Entry" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Order Entry Login Page</title>
</head>
<body>
<form id="form1" runat="server">
    <div>
    </div>
</form>
</body>
</html>

The other warning is, "Validation (XHTML 1.0 Transitional): Element 'page' is not supported. C:MemberOrderEntryMembersOrderEntryMembersOrderEntryWeyandDefault.aspx"

Does this mean anything/make sense to anybody? What needs to be removed or changed in there?

There are many other files with the same exact code:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Vinyard._Default" title="Web Order Entry" %>

(except they have "Vinyard" or something else instead of "Weyand"); so why aren't they several Warnings about that same thing, rather than just this?

UDPATE 6

Okay, then! (arghh) If I expand those files in the Solution Explorer, they do elicit warnings. Why would that be? The compiler doesn't notice htem unless they are expanded in Solution Explorer? That makes no sense...

UDPATE 7

Is "Element 'page' is not supported" the root of the problem?

With three of the folders expanded, I see:

enter image description here

The "page" is like so:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Vinyard._Default" title="Web Order Entry" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

It seems that each "Page" is problematic; and for each one, there is a possibly corresponding "ASP.NET runtime error: Object ref not set" warning - which may be what causes the error of the same type.

If the 'Page' element is the/a problem, what is the fix for it?

If I simply remove it, like so:

<%@Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Vinyard._Default" title="Web Order Entry" %>

...then I get, "Element '' is not supported." It's not just a Catch-22, because many more errors are caught than that, when everything is expanded.

UPDATE 8

The errors cause me to wonder: What does the "Inherits" directive signify? I have such as:

Inherits="CapitolCity._Default"

In more context, the appear within Default.aspx files like so:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="CapitolCity._Default" title="Web Order Entry" %>

There is no "CapitolCity._Default" file anywhere that I can see (which is apparently supposedly what is being "inherited"). What is being inherited here, or trying to be inherited?

In this case, the file with the line above is Default.aspx, beneath/within the \CapitolCity folder. Beneath it is the Default.aspx.vb file.

There is a \Default.aspx file, with a Default.aspx.vb beneath it. The first is:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" title="Web Order Entry" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
<form id="form1" runat="server">
    <div>
    </div>
</form>
</body>
</html>

Is there something wrong with it, and if not, what could be causing this gigantic headache?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This was an incredibly strange issue, but since there it has been solved, it might as well get an answer.

I think it's a bug in the .suo files, as my VS was behaving oddly lately, my programs suddenly started crashing, not building and saying the Office references were not valid.

One fix I tried was cleaning and re-building the solution, which worked about 1/4 in times, the other times I had to physically remove and add the references again, and then rebuild the whole solution.

After getting fed up of doing that for a week or so, I just created a backup elsewhere on our work server, deleting the .suo files in the new folder, then opening and building the whole solution.

It fixed it. Not sure why, or what went wrong, but now and then strange things happen in the .suo files and references.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...