为什么我收到“对象引用未设置到对象实例”。但没有涉及任何代码行?

2023-12-23

当我尝试构建 VB.NET 解决方案时,收到错误“未将对象引用设置为对象的实例”。但在“错误列表”窗格中,“文件”、“行”、“列”和“项目”列为空:

如果它不告诉我问题在哪里,我该如何解决问题?

UPDATE

我选择了项目,然后“显示项目依赖关系图”并得到了这个:

我不知道我在看什么。

UPDATE 2

我不知道这是否不寻常或符合预期,但如果我混搭 F5,我确实会在浏览器中看到一个页面(http://本地主机:2030/ http://localhost:2030/)没有任何错误消息;当然,该页面看起来就像冬天从飞机上看到的北达科他州。

UPDATE 3

现在(在修复了几个明显的问题之后,例如未终止的 html 标签),它甚至不会说“全部重建”没问题(改进它会使情况变得“更糟”)。

通过“重建全部”和“构建”,我得到了,“你调用的对象是空的。" 但没有指示在哪里找到未设置的对象引用。

更可怕的是,当我跑步时Resharper > 检查 > 解决方案中的代码问题,其中有 10 个 VB 编译器错误,分为以下两种类型:

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

为什么会出现编译错误但仍然可以编译?这真是让人越来越好奇了。

作为该项目有多少警告、错误等的想法,以下是 Resharper tsk-tsks 相关内容的概述:

20 个错误和一千个其他“问题”——这让我感觉像在写一首乡村歌曲!

UPDATE 4

当我右键单击该项目并选择“在页面检查器中查看”时,我看到以下内容:

这可能是问题所在吗?如果是,我如何确保开发服务器在 .NET 4.0 或更高版本上运行?

或者这是一条红鲱鱼?

UPDATE 5

现在有一个警告可能会说明一些情况:

C:\MemberOrderEntry\MembersOrderEntry\MembersOrderEntry\Weyand\Default.aspx:ASP.NET 运行时错误:未将对象引用设置为对象的实例。

这是警告所暗示的代码行:

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

整个 Default.aspx 文件是:

<%@ 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>

另一个警告是,“验证(XHTML 1.0 Transitional):不支持元素“page”。C:\MemberOrderEntry\MembersOrderEntry\MembersOrderEntry\Weyand\Default.aspx"

这对任何人来说有什么意义/有意义吗?其中需要删除或更改什么?

还有许多其他文件具有相同的确切代码:

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

(除非他们有“Vinyard”或其他东西而不是“Weyand”);那么为什么他们不针对同一件事发出多次警告,而不仅仅是这个呢?

UDPATE 6

好吧! (arghh)如果我在解决方案资源管理器中展开这些文件,它们do引发警告。为什么会这样呢?编译器不会注意到 htem,除非它们在解决方案资源管理器中展开?这是没有意义的...

UDPATE 7

“不支持元素'页面'”是问题的根源吗?

展开其中三个文件夹后,我看到:

“页面”是这样的:

<%@ 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">

看来每个“Page”都有问题;对于每一个,都有可能对应的“ASP.NET 运行时错误:对象引用未设置”警告 - 这可能是导致相同类型错误的原因。

如果“Page”元素是问题,那么解决方法是什么?

如果我只是删除它,就像这样:

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

...然后我得到,“不支持元素 ''”。这不仅仅是第 22 条军规,因为当所有内容都扩展时,会发现更多的错误。

UPDATE 8

这些错误让我想知道:“Inherits”指令意味着什么?我有诸如:

Inherits="CapitolCity._Default"

在更多上下文中,它出现在 Default.aspx 文件中,如下所示:

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

在我能看到的任何地方都没有“CapitolCity._Default”文件(这显然是被“继承”的)。这里正在继承什么,或者试图继承什么?

在本例中,上面一行的文件是 Default.aspx,位于 \\CapitolCity 文件夹下/内。下面是 Default.aspx.vb 文件。

有一个\\Default.aspx 文件,其下面有一个Default.aspx.vb。第一个是:

<%@ 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>

是不是出了什么问题?如果没有,是什么原因导致了这么大的头痛?


这是一个极其奇怪的问题,不过既然已经解决了,也算是有了答案吧。

我认为这是 .suo 文件中的一个错误,因为我的 VS 最近表现得很奇怪,我的程序突然开始崩溃,无法构建并说 Office 引用无效。

我尝试的一个修复方法是清理并重新构建解决方案,该解决方案的工作时间约为 1/4,其他时间我必须再次物理删除并添加引用,然后重建整个解决方案。

在厌倦了这样做一周左右后,我只是在工作服务器的其他地方创建了备份,删除新文件夹中的 .suo 文件,然后打开并构建整个解决方案。

它修复了它。不知道为什么,或者出了什么问题,但 .suo 文件和引用中时不时会发生奇怪的事情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我收到“对象引用未设置到对象实例”。但没有涉及任何代码行? 的相关文章

随机推荐