5

最も奇妙な動作を示すページがあります。プロジェクトをビルド/デバッグするときに、ページ ディレクティブを指すビルド エラーが発生することがあります。

ディレクティブの任意の 2 つの属性の間に追加のスペースを挿入すると、エラーはなくなり、ビルドは成功します。

ページ ディレクティブ:

<%@ 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 に切り替えた後も残ります。

編集:@問題のページ ディレクティブから省略されたタイプミスを修正しました。

何か案は?

4

2 に答える 2

4

開始の <% と 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" %>
于 2012-07-03T16:31:43.720 に答える
1

<%@ ページに @ 記号がありません......

于 2012-07-03T16:32:54.183 に答える