Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

212
Visualizações
Enabling c# 7 in a asp.net application

I just started working on my old solution in Visual Studio 2017. Just opening the solution in the old IDE worked seamlessly. The c# application projects now default to the c# 7.0 compiler. The property pages of those project (compilation/advanced) let easily chose the targeted language version of the compiler, defaulting to the latest.

I cannot find a way to enable c# 7.0 in the asp.net web projects though. If I write a statement such as:

if (int.TryParse("1", out int myInt)) { ... }

the IDE warns me saying that I need to use version 7+ of the language.

My research on this topic shows I should target the specific c# version in the system.codedom compilers area of the web.config file, so to target the newest Roslyn version.

What I have now is:

  <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"/>

which targets c# 6. What are the correct settings for c# 7, provided that I have already downloaded the latest Roslyn with nuget?

Update Here is a screenshot of the available Compile options for a web project (it is Italian VS2017 but it should be easy to understand). No possibility to select the targeted c# version there.

Compile options

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

In website's NuGet window:

  1. Uninstall Microsoft.CodeDom.Providers.DotNetCompilerPlatform
  2. Re-install it
  3. In web.config, under: system.codedom > compilers > compiler, change compilerOptions="/langversion:6 to 7
over 4 years ago · Santiago Trujillo Relatório

0

I am able to compile it with default language setting but not with C# 7 option. enter image description here

But below setting gives compile time error:

enter image description here

so you can keep your language version setting as default.

If you experimenting with Roslyn and not using Visual 2017 default compiler build then you may need to make some more changes

Select your project name and right click >> Properties Window >> Build and then add the below two options in "Conditional Compilation symbols" text box __DEMO__,__DEMO_EXPERIMENTAL__

enter image description here

Update

In order to use C# 7.0, you need to use 2.0+ version of Microsoft.Net.Compilers

enter image description here

after installing the latest version of Microsoft.Net.Compilers (2.0+) you can select the language version as C# 7.

so the best solution is to install the latest version of Microsoft.Net.Compilers (2.0+).

over 4 years ago · Santiago Trujillo Relatório

0

For C# 7.x support set the Build Configuration Language Version of project to C# latest minor version (latest)

Build Configuration Language Version

If you are using CodeDOM Providers for .NET Compiler Platform ("Roslyn") (e.g. the Microsoft.CodeDom.Providers.DotNetCompilerPlatform nuget package) set compilerOptions="/langversion:latest" in web.config for asp.net.

<system.codedom>
   <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        warningLevel="4" compilerOptions="/langversion:latest /nowarn:1659;1699;1701"/>
   </compilers>
</system.codedom>

For more info:

  • https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/langversion-compiler-option
  • https://github.com/aspnet/RoslynCodeDomProvider#what-is-changed
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda