CodeTaskFactory
использует CodeDom для компиляции кода C #, который не реализует более новые версии C #.
MSBuild 15.8 (в предварительном просмотре на момент написания) появился новый RoslynCodeTaskFactory
, использующий компилятор roslyn для компиляции кода, который позволяет использовать текущую версию C #, которая содержится в дистрибутиве MSBuild / Visual Studio:
<Project DefaultTargets="Build">
<UsingTask TaskName="HelloWorld" TaskFactory="RoslynCodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
<Task>
<Code Type="Fragment" Language="cs">
<![CDATA[Console.WriteLine($"Hello {0+1}");]]>
</Code>
</Task>
</UsingTask>
<Target Name="Build">
<HelloWorld />
</Target>
</Project>