c# linux mono c#-7.0

Compilando código C#7 que contiene ValueTuple con Mono 5



linux c#-7.0 (1)

Desinstalé el mono-desarrollo estable 5.0.1.1-0xamarin5 + ubuntu1604b1 y lo reemplacé con el beta mono-devel 5.2.0.196-0xamarin7 + ubuntu1604b1. El proyecto ahora compila sin error.

Asumiré que se ha corregido un error en mono que resuelve este problema.

Estoy intentando compilar mi nuevo código C # 7 en un servidor de compilación Linux utilizando Mono 5. Desafortunadamente, el proyecto falla cuando uso la nueva sintaxis de ValueTuple:

MyClass.cs (100,38): error CS1003: error de sintaxis, ''('' expected [/path/to/My.csproj]

Tengo la siguiente referencia de paquete en mi archivo de proyecto:

<PackageReference Include="System.ValueTuple" Version="4.3.0" />

y estoy usando los siguientes comandos en mi script de compilación rápida:

# msbuild My.sln /t:restore # msbuild My.sln /p:Configuration=Release /p:Platform="Any CPU"

y el registro de MSBuild indica una versión de idioma de 7 y muestra una referencia a System.ValueTuple.dll:

CoreCompile:

/usr/lib/mono/4.5/csc.exe / noconfig / unsafe- / checked- / nowarn: 1701,1702,1705,1701,1702 / langversion: 7 / nostdlib + / errorreport: prompt / warn: 4 / doc: bin /Release/net461/My.xml / define: TRACE; RELEASE; NET461 / highentropyva + ... /reference:/root/.nuget/packages/system.valuetuple/4.3.0/lib/netstandard1.0/System.ValueTuple. dll ... / debug- / debug: portable / filealign: 512 / nologo / optimize + /out:obj/Release/net461/My.dll /subsystemversion:6.00 / target: library / warnaserror- / utf8output / deterministic + My.cs " /tmp/.NETFramework,Version=v4.6.1.AssemblyAttributes.cs "obj / Release / net461 / My.AssemblyInfo.cs

¿Alguien ha compilado exitosamente C # usando la nueva sintaxis ValueTuple en Linux usando Mono 5? ¿Funcionó, o necesitó ajustar el entorno para que funcione?

Mi servidor de compilación ejecuta Ubuntu 16.04 y tiene mono-devel 5.0.1.1-0xamarin5 + ubuntu1604b1 instalado.