Posible cambio de ruptura en MVC4 Razor que se puede arreglar con "@: @"

Recientemente actualicé mi sitio web de ASP.NET MVC3 (Razor) a MVC4 (Razor2), y al hacerlo encontré lo que parecía un cambio de última hora en el motor de visualización de Razor.

El escenario (muy simplificado) se muestra a continuación.

@model IEnumerable<string>

@{ Layout = null; }

<!DOCTYPE html>

<html>
    <body>
        <div>
              @foreach (var x in Model)
              {
                  @string.Format("Foo bar: {0}", x) // Errors in MVC4/Razor2
              }
        </div>
    </body>
</html>

Esto funciona bien en MVC3 / Razor, sin embargo en MVC4 / Razor2 elstring.Format resultados de línea en un error de:

Palabra clave "cadena" inesperada después del carácter "@". Una vez dentro del código, no es necesario prefijar construcciones como "cadena" con "@".

Si eliminas el@, el motor de vista entonces exige que termines elstring.Format línea con un punto y coma. Sin embargo, ReSharper luego advierte (con razón):

No se utiliza el valor de retorno del método puro.

Las dos correcciones que he encontrado para esto son para usar<text>:

<text>@string.Format("The value {0}", x)</text>

O un enfoque más curioso utilizando@:@:

@:@string.Format("The value {0}", x)

¿Es este un cambio conocido y documentado en el motor de visualización de Razor?

Respuestas a la pregunta(2)

Su respuesta a la pregunta