Why am I getting, “Object reference not set to an instance of an object.” but no line of code is implicated?

最后都变了- 提交于 2019-11-26 14:50:35

问题


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:

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:

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:

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:

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:\MemberOrderEntry\MembersOrderEntry\MembersOrderEntry\Weyand\Default.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:\MemberOrderEntry\MembersOrderEntry\MembersOrderEntry\Weyand\Default.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:

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?


回答1:


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.



来源:https://stackoverflow.com/questions/40875865/why-am-i-getting-object-reference-not-set-to-an-instance-of-an-object-but-no

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!