为什么这个清晰可见的符号无法解析?

Why is this clearly visible symbol unresolvable?

根据 Resharper 的说法,我遇到 ASP 错误,“ 解决方案 MembersOrderEntry.sln 项目成员OrderEntry MembersOrderEntry\segovias-abq\Default.aspx:1 无法解析符号 'segovias-abq'"

在同一个Default.aspx文件中,出现类似的错误," 解决方法MembersOrderEntry.sln 项目成员OrderEntry MembersOrderEntry\segovias-abq\Default.aspx:1 无法解析符号“_Default”

为什么这些符号('segovias-abq' 和'_Default')无法解析?该项目包含许多名为 Default.aspx 的文件,它们下面有 Default.aspx.vb;他们中的大多数都没有抛出错误。但是在让 Resharper "fix" funky 命名空间(它认为它们是错误的地方)之后,我得到了其中四个错误。

为什么大部分 Default.aspx 文件都能够解析其父文件,而这个却不能?正如你在这里看到的,失败的和其他人之间的关系是相同的(一个文件夹名称,下面有 Default.aspx,下面有 Default.aspx.vb):

Seashore、SimonLeeman、Stern、Weyand 和许多其他人都工作得很好。

失败Default.aspx的全部内容是:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="segovias-abq._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>

...而 Default.aspx.vb 是:

Partial Class _Default
    Inherits Page

    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        Session("SelectedMenu") = "Home"
        Response.Redirect("../Login.aspx?MemberNo=B1212")
    End Sub
End Class

OTOH,非失败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>

...及其 Default.aspx.vb 是:

Namespace Weyand
    Partial Class _Default
        Inherits Page

        Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
            Session("SelectedMenu") = "Home"
            Response.Redirect("../Login.aspx?MemberNo=031")
        End Sub
    End Class
End NameSpace

IOW,除了命名空间,它们似乎是相同的。但即使我添加了预期的内容:

Namespace segovias-abq

...没有任何改变;我仍然得到,“无法解析符号 'segovias-abq'

ReSharper 在使命名空间名称与其目录路径匹配时从命名空间中删除连字符或下划线。在重构期间,除非您允许,否则 ReSharper 不会查看字符串引用。

我相信当你重构时,连字符已从 segovias-abq 命名空间中删除,但在 Default.aspx:

的这一部分似乎没有更正命名空间更改

Inherits="segovias-abq._Default"