0
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS1009: Unrecognized escape sequence

Source Error:


Line 42:         
Line 43:         public override void Execute() {
Line 44: WriteLiteral("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" +
Line 45: "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" +
Line 46: "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" +

Source File: c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\9d389ed9\2c615f86\App_Web_index.cshtml.c114ca27.wbkbq-st.0.cs    Line: 44 

誰かが昨日のプロジェクトが正常に動作することを確認しますが、今日は動作しません。問題なくコンパイルおよびビルドされますが、機能しません。

4

4 に答える 4

2

44 行目: バックスラッシュが 81 個あります。45 行目と 46 行目には、それぞれ 80 個あります。文字列リテラルで使用する場合、バックスラッシュ文字は「エスケープ」文字として使用され、改行やタブなどを示します。実際に文字列にバックスラッシュが必要な場合は、必要なバックスラッシュごとに 2 つの連続したバックスラッシュを指定する必要があります。44 行目のバックスラッシュの数が奇数であるため、エラーが発生しています。

本当に多くのバックスラッシュが必要な場合は、次のように文字列リテラルの前に @ を付けることで、C# でエスケープ文字を無効にすることができます。

WriteLiteral(@"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
           + @"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
           + @"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"

または、44 行目からバックスラッシュの 1 つを削除することもできます。

于 2013-10-29T03:40:17.243 に答える
1

私は同じことを得ました、それは自動コードです、私のプロジェクトはMVC 4、Razorを使用したASP.netです。これらのコードは、私たちが入力したものではありません。新しい展開でのみこのエラーが発生し、同じコードの他の展開は正常に機能します。

説明: この要求を処理するために必要なリソースのコンパイル中にエラーが発生しました。次の特定のエラーの詳細を確認し、ソース コードを適切に変更してください。

Compiler Error Message: CS1009: Unrecognized escape sequence

Source Error:


Line 42:         
Line 43:         public override void Execute() {
Line 44: WriteLiteral("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" +
Line 45: "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" +
Line 46: "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" +

Source File: c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\e22c2559\92c7e946\App_Web__viewstart.cshtml.cdcab7d2.gtokpxja.0.cs    Line: 44 
于 2014-11-26T17:59:01.210 に答える
1

このコンストラクタを使用するだけです

new String('\\', 80)

80 個のバックスラッシュの文字列を取得します。

于 2013-10-29T04:39:15.287 に答える