Asp.net MVC Razor view - CS1525: Ungültiger Ausdrucksausdruck '.'

Ich habe zwei identische ASP.Net 4.6 MVC-Projekte. Projekt 1 verwendet Roslyn-Kompatibilität innerhalb der Website, die einwandfrei funktioniert.

c: \ windows \ system32 \ inetsrv> C: \ Websites1 \ bin \ roslyn \ csc.exe Microsoft Visual C # -Compiler Version 1.2.0.60325

Mit dem zweiten Projekt, bei dem der folgende Fehler angezeigt wird, wird der Complier aus dem .Net-Framework verwendet.

c: \ windows \ system32 \ inetsrv> "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ csc.exe" Microsoft Visual C # -Compiler Version 4.6.1590.0

Line 6: @if (!Model?.Item?.IsDerived(Templates.PageMetadata.ID) ?? true) Line 7: { Line 8: return;

c:\Website2\Views\metadata.cshtml(6,17): error CS1525: Invalid expression term '.' c:\Website2\Views\metadata.cshtml(6,18): error CS1003: Syntax error, ':' expected c:\Website2\Views\metadata.cshtml(6,23): error CS1525: Invalid expression term '.' c:\Website2\Views\metadata.cshtml(6,24): error CS1003: Syntax error, ':' expected c:\Website2\Views\metadata.cshtml(6,68): error CS1002: ; expected c:\Website2\Views\metadata.cshtml(6,68): error CS1525: Invalid expression term ')' c:\Website2\Views\metadata.cshtml(6,69): error CS1002: ; expected

Ich habe @ verwend Installationspaket Microsoft.CodeDom.Providers.DotNetCompilerPlatform bei beiden Projekten.

Meine Frage ist, warum das zweite Projekt keine Roslyn-Konformität verwendet und gibt es eine Möglichkeit, die Verwendung der Roslyn-Konformität auf der Website zu erzwingen?

Ich habe es auch versucht Microsoft.Net.Compilers Nuget-Paket.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage