我有一个展示最奇怪行为的页面。在构建/调试我的项目时,我有时会收到指向我的页面指令的构建错误。
如果我在指令中的任何两个属性之间插入一个额外的空格,则错误消失并且构建成功。
页面指示:
<%@ Page Language="C#" AutoEventWireup="true" EnableSessionState="true" CodeBehind="myPage.aspx.cs" Inherits="com.mycompany.UserControls.myPage" %>
导致的错误:
Keyword, identifier, or string expected after verbatim specifier: @ C:\mypath\myPage.aspx 1 1 myProjectName
A namespace cannot directly contain members such as fields or methods C:\mypath\myPage.aspx 1 1 myProjectName
重申一下,例如,在Page
和Language="C#"
之间添加额外空格会暂时清除错误。我将在下一次构建中看到100%的成功率,但错误最终会再次出现。我通常可以通过关闭显示myPage.aspx
的编辑器并构建/重建我的项目来强制执行错误。
注意:此行为在Visual Studio 2008中出现,在切换到Visual Studio 2010后仍然存在。
修改:更正了有问题的网页指令中省略@
的拼写错误。
有什么想法吗?
答案 0 :(得分:3)
您是否错过了开头&lt;%和Page关键字之间的@符号?
<% Page Language="C#" AutoEventWireup="true" EnableSessionState="true" CodeBehind="myPage.aspx.cs" Inherits="com.mycompany.UserControls.myPage" %>
它应该是
<%@ Page Language="C#" AutoEventWireup="true" EnableSessionState="true" CodeBehind="myPage.aspx.cs" Inherits="com.mycompany.UserControls.myPage" %>
答案 1 :(得分:1)
您的&lt;%@ Page ......
中缺少@符号