在同一Default.aspx文件中,存在类似的错误," 解决方案MembersOrderEntry.sln Project MembersOrderEntry MembersOrderEntry \ segovias-abq \ Default.aspx:1无法解析符号' _Default' "
为什么这些符号(' segovias-abq'和#39; _Default')无法解析?该项目包含许多名为Default.aspx的文件,其下方有Default.aspx.vb;他们中的大多数都没有错。但让Resharper"修复"时髦的命名空间(它认为它们错了),我得到了其中的四个错误。
为什么大部分的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
......它什么都没改变;我还是得到了,&#34; 无法解析符号&#39; segovias-abq&#39; &#34;
答案 0 :(得分:1)
当使命名空间名称与其目录路径匹配时,ReSharper会从命名空间中删除连字符或下划线。在重构期间,除非您允许,否则ReSharper不会查看字符串引用。
我相信当你重构时,连字符从segovias-abq命名空间中删除了,但是在Default.aspx的这一部分中似乎没有更正命名空间更改:
Inherits="segovias-abq._Default"