Я только начал работать над своим старым решением в Visual Studio 2017. Просто открыть решение в старой IDE работало без проблем. Приложение С# теперь работает по умолчанию с компилятором С# 7.0. Страницы свойств этого проекта (компиляция/продвинутый) позволяют легко выбрать целевую языковую версию компилятора, по умолчанию последнюю.
Я не могу найти способ включить С# 7.0 в веб-проектах asp.net. Если я напишу выражение, например:
if (int.TryParse("1", out int myInt)) { ... }
IDE предупреждает меня, говоря, что мне нужно использовать версию языка 7+.
Мои исследования по этой теме показывают, что я должен ориентироваться на конкретную версию С# в области компиляторов system.codedom файла web.config, чтобы нацеливаться на новейшую версию Roslyn.
Что у меня сейчас есть:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
какие цели для С# 6. Каковы правильные настройки для С# 7, при условии, что я уже загрузил последнюю версию Roslyn с nuget?
Обновление Вот скриншот доступных опций компиляции для веб-проекта (это итальянский VS2017, но это должно быть легко понять). Там нет возможности выбрать целевую версию С# там.