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
有人检查昨天项目工作正常,但今天它不起作用。它编译和构建没有任何麻烦,但不起作用。
答案 0 :(得分:2)
第44行:你有81个反斜杠。在第45和46行,你有80。在字符串文字中使用时,反斜杠字符用作“转义”字符,以指示新行和制表符等内容。如果您确实需要字符串中的反斜杠,则需要为每个所需的反斜杠指定2个连续的反斜杠。由于第44行上有一个奇数个反斜杠,因此您收到错误。
如果你真的想要那么多反斜杠,你可以在C#中禁用转义字符,方法是在字符串文字前加一个@,如下所示:
WriteLiteral(@"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
+ @"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
+ @"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
或者,您可以从第44行删除其中一个反斜杠。
答案 1 :(得分:1)
只需使用此构造函数
new String('\\', 80)
获取80个反斜杠的字符串。
答案 2 :(得分: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
答案 3 :(得分:0)
这里的问题(如Bo Flexson's answer中所述)是自动生成的代码,而不是物理地写入一个带有(大)奇数斜杠字符的视图。
回答this question中描述的一个解决方案是简单地重新编译和重新部署。
对我来说这没有用,因为问题似乎已经归结为我们大型解决方案的构建顺序。最初,我偶然发现了一个解决方案,对层次结构中更深层次的项目中的单独视图进行了一些小的更改,迫使它正确地重新构建有问题的视图。从那以后,我一个接一个地重建项目,而不是依靠完整的解决方案重建来获得正确的订单。