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 行删除一个反斜杠。

于 2013-10-29T03:40:17.243 回答
1

我得到了同样的东西,它是自动代码,我的项目是带有 MVC 4 的 ASP.net,Razor。这些代码不是我们输入的。仅在新部署中出现此错误,相同代码的其他部署工作正常,

说明:在编译服务此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。

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 回答
0

这里的问题(如Bo Flexson 的回答中提到的)是自动生成的代码,而不是物理地编写一个包含(大)奇数个斜杠字符的视图。

在回答这个问题时描述的一种解决方案是简单地重新编译和重新部署。

对我来说,这不起作用,因为问题似乎取决于我们大型解决方案的构建顺序。最初,我偶然发现了一个解决方案,方法是对层次结构更深的项目中的单独视图进行一些小的更改,这迫使它正确地用有问题的视图重建项目。从那时起,我有更多的运气一个一个地重建项目,而不是依靠完整的解决方案重建来获得正确的订单。

于 2016-04-15T09:29:33.963 回答