Включен ли компилятор C# 7.3 в .Net Framework 4.8 для asp.net?
Я запутался. Много лет назад я установилMicrosoft.CodeDom.Providers.DotNetCompilerPlatform
из Github:https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/2.0.1?_src=template
Теперь я могу получить самое новое C# compiler
на моих сайтах Asp.Net, независимо от версии.Net Framework, просто путем включения пакета при развертывании на производственном сервере.
Однако этим летом все изменилось. Если я правильно понял, то.Net Framework версии 4.8 теперь по умолчанию использует C# 7.3.
Мой вопрос: относится ли это также к Asp.net? Или мне все еще нужно развернуть компилятор из Github на моем веб-сервере?
Включен ли компилятор C# 7.3 в.Net Framework 4.8?
1 ответ
Комментарии неверны!
На сайтах Asp.Net по-прежнему используется компилятор C# 7.0, несмотря на то, что у меня установлен.Net 4.8!
Я рискнул и удалил компилятор Roslyn с Github на одном из моих веб-сайтов (ссылка, о которой идет речь). Теперь при компиляции появилось много ошибок.
Пример ошибки (это свойство):
public bool IsReusable => false;
Это не работает в C# 7.0. Так что мне придется оставить'Roslyn'
компилятор на моих сайтах, чтобы получить C# 7.3
Обновить:
Для всех, кто только что установил компилятор Roslyn с Github: вы должны вручную установить langversion
в Web.config, например:
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:7.3 /nowarn:1659;1699;1701" />
Теперь asp.net будет использовать компилятор C# 7.3.