2016-12-02 144 views
0

我发现了一个ASP错误,根据ReSharper的, “解决方案MembersOrderEntry.sln 项目MembersOrderEntry MembersOrderEntry \ segovias-ABQ \ Default.aspx的:1无法解析符号 'segovias-ABQ'为什么这个清晰可见的符号无法解析?

在同一个Default.aspx文件,还有一个类似的错误, “解决方案MembersOrderEntry.sln 项目MembersOrderEntry MembersOrderEntry \ segovias-ABQ \ Default.aspx的:1无法解析符号 '_Default'

为什么这些符号('segovias-abq'和'_Default')无法解决的?该项目包含许多名为Default.aspx的文件,其中包含Default.aspx.vb;他们中的大多数没有犯错误。但让Resharper“修复”时髦的命名空间(它认为它们错了)后,我得到了其中四个错误。

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

enter image description here

海滨, 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’

+2

命名空间名称不能有破折号。 – jmcilhinney

+0

谢谢;不知道或记得(显然);我仍然想知道:加尔各答怎么做到这一点? –

+0

@jmcilhinney:如果你在回答中扩展你的评论,我会给你赏金。 –

回答

1

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

我相信当你重构,连字符取出形式segovias-ABQ命名空间,但该命名空间变化并不似乎已经Default.aspx中的这一部分被修正:

Inherits="segovias-abq._Default"