Message d’erreur du compilateur: CS1009: Séquence d’échappement non reconnue

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. Comstackr 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 

Quelqu’un vérifie que le projet d’hier a bien fonctionné, mais aujourd’hui, il ne fonctionne pas. il comstack et construit sans problème mais ne fonctionne pas.

Ligne 44: vous avez 81 barres obliques inverses. Sur les lignes 45 et 46, vous avez 80 chacun. Lorsqu’il est utilisé dans un littéral de chaîne, le caractère barre oblique inverse est utilisé comme caractère “d’échappement” pour indiquer des éléments tels que des nouvelles lignes et des tabulations. Si vous voulez réellement que la barre oblique inversée soit dans votre chaîne, vous devez spécifier 2 barres obliques inverses consécutives pour chaque barre oblique inverse souhaitée. Étant donné que vous avez un nombre impair de barres obliques inverses à la ligne 44, vous obtenez l’erreur.

Si vous voulez vraiment autant de barres obliques inverses, vous pouvez désactiver le caractère d’échappement en C # en faisant précéder le littéral de chaîne par un @ comme ceci:

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

Vous pouvez également supprimer l’une des barres obliques inverses de la ligne 44.

Il suffit d’utiliser ce constructeur

 new Ssortingng('\\', 80) 

pour obtenir une chaîne de 80 barres obliques inverses.

J’ai la même chose, c’est du code automatique, mon projet est ASP.net avec MVC 4, Razor. Ce code n’est pas entré par nous. Si cette erreur ne se produit que sur un nouveau déploiement, les autres déploiements du même code fonctionnent correctement.

Description: une erreur s’est produite lors de la compilation d’une ressource requirejse pour traiter cette demande. Veuillez consulter les détails d’erreur spécifiques suivants et modifier votre code source de manière appropriée.

 Comstackr 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 

Le problème ici (comme mentionné dans la réponse de Bo Flexson ) concerne le code généré automatiquement, et non l’écriture physique d’une vue contenant un (grand) nombre impair de barres obliques .

Une solution, décrite en réponse à cette question, consiste simplement à recomstackr et à redéployer.

Pour moi, cela n’a pas fonctionné car le problème semble avoir été réduit à l’ordre de fabrication de notre solution globale. Au départ, je suis tombé sur une solution en apportant quelques modifications mineures à une vue distincte d’un projet plus en profondeur dans la hiérarchie, ce qui l’a obligé à reconstruire correctement le projet avec la vue problématique. Depuis lors, j’ai eu beaucoup plus de chance de reconstruire des projets un par un plutôt que de compter sur une reconstruction complète de la solution pour obtenir le bon ordre.