Dado que se lanzó Visual Studio 2017 y podemos usar las nuevas características de C# 7, esperaba que esto funcionara cuando se implemente en aplicaciones web de Azure.
Desafortunadamente, estamos viendo errores de compilación cuando usamos la implementación continua (kudu git deployment), por lo que parece que Azure aún no es compatible con la nueva cadena de herramientas.
¿Hay algo que podamos hacer para que esto funcione ahora (además de publicar los ensamblajes directamente)?
ya que aún no tenemos msbuild15 en Azure. si desea utilizar funciones de c#7 con integración continua, es posible que necesite alguna solución alternativa
dotnet msbuild.dll ) [ muestra del repositorio ]Microsoft.Net.Compilers 2.0+ al proyecto donde se aplica la nueva función de idioma . Por ejemplo, si una biblioteca de clases en la solución usa la nueva sintaxis, debe agregar el paquete nuget a ese proyecto lib. (el nuevo compilador c# se importa si hace referencia a este paquete nuget) [ muestra del repositorio ]nuget restore para el proyecto .NET framework lib de forma independiente , ya que dotnet restore no es compatible con versiones anteriores, no puede restaurar el proyecto desde el antiguo sistema de compilación. Hice esto pirateando mi deploy.cmd [ muestra del repositorio ] estas soluciones intentan
imitar msbuild15 (caso 1: dotnet msbuild.dll , caso 2: compilador como paquete nuget)
o imitar nuget4.0 (caso 3: ejecutar dotnet dotnet restore y nuget3.5 restore )
estamos en el proceso de crear estas herramientas para Azure, deberían estar disponibles pronto. puedes mantenerte actualizado en github
Agregar el paquete Microsoft.Net.Compilers NuGet soluciona el problema.
Como lo señaló @joshuanapoli en un comentario a la respuesta aceptada, el Escenario n. ° 2 solo funciona con Microsoft.Net.Compilers v2.4.0 y versiones anteriores.
Me tomó un par de horas darme cuenta y resolverlo.