Mögliche Lösungen, entnommen aus den Kommentaren zu ScottGus Blogposting (Suche nach "8026" auf der Seite):
Lösungsvorschlag 1 (David Taylor)
Fügen Sie diese RTM-Code-Dom-Elemente zu web.config hinzu:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>
</compilers>
</system.codedom>
Fügen Sie dann die Dateien Roslyn und Microsoft.CodeDom.Providers. *. DLL in Ihr BIN-Verzeichnis ein.
Die Einrichtung ist einfach genug, aber mir war nur seltsam, dass die Standardvorlage nicht dafür eingerichtet wurde, wenn Sie beim Erstellen einer neuen "Website" in VS 2015 RTM .NET 4.6 ausgewählt haben.
Lösungsvorschlag 2 (Martin)
Nach dem obigen Kommentar von David Taylor sieht es so aus, als ob die Einstellungen für system.codedom korrekt sind, wenn eine Webanwendung mit TargetFramework als Standard v4.5.2 erstellt wird. Durch Ändern von TargetFramework in Version 4.6 werden die Compilereinstellungen für CSharp anscheinend so geändert, dass ein Problem auftritt.
Meine Problemumgehungen waren wie folgt:
- Datei / Neu / ASP.NET-Webanwendung
- Wählen Sie die Vorlage "Web API" aus ASP.NET 4.5.2 Templates
- Erstellen Sie eine Kopie des system.codedom-Elements (und seines Inhalts) in web.config
- Setzen Sie mit Properties / TargetFramework das Target Framework auf 4.6
- Ersetzen Sie das geänderte system.codedom-Element in web.config durch die Kopie, die vor dem Ändern von TargetFramework erstellt wurde
- Schlagen F5
Die Startseite sollte wie erwartet geladen werden.
Zur Information: Der Inhalt von system.codedom wird unmittelbar nach dem Ändern von TargetFramework in Version 4.6 angezeigt. war wie folgt (beachten Sie die Verwendung des Typs "Microsoft.CSharp.CSharpCodeProvider"):
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701">
<providerOption name="CompilerVersion" value="v4.0"/>
</compiler>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>
</compilers>
</system.codedom>