2016-12-02 160 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"