Since Visual Studio 2017 is released and we can use the new C# 7 features I expected this will work when deploying on Azure Web apps.
Unfortunately we're seeing compile errors when using continuous deployment (kudu git deploy) so it seems Azure doesn't support the new toolchain yet.
Is there anything we can do to get this to work now (besides publishing the assemblies directly)?
since we don't yet have msbuild15 in Azure. if you want to use c#7 features with continuous integration, you may need some workaround
dotnet msbuild.dll
) [repository sample]Microsoft.Net.Compilers
2.0+ nuget package to the project where the new language feature is applied. For example, if a class library in the solution is using the new syntax, you need to add nuget package to that lib project. (the new c# compiler is thus imported if you refer this nuget package) [repository sample]nuget restore
for the .NET framework lib project independently since dotnet restore
is not backwards compatible, it cannot retore project from the old build system. I did this by hacking my deploy.cmd
[repository sample]these workarounds either try to
imitate msbuild15 (case1: dotnet msbuild.dll
, case2: compiler as a nuget package)
or imitate nuget4.0 (case 3: run both dotnet restore
and nuget3.5 restore
)
we are in the process of building these tools for Azure, they should be out soon. you can stay updated on github
Adding the Microsoft.Net.Compilers
NuGet package fixes the issue.
As pointed out by @joshuanapoli in a comment to the accepted answer Scenario #2 works only with Microsoft.Net.Compilers v2.4.0 and below.
Took me a couple of hours to notice and figure it out.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With