2015-08-30 5 views
9
XBuild Engine Version 12.0 
Mono, Version 3.2.8.0 

Sto provando a costruire la mia soluzione C# in XBuild. Costruisce perfettamente bene su Windows, ma non su Ubuntu. Ottengo i seguenti errori:Come faccio a ottenere Mono per usare il giusto "ToolsVersion"?

warning : Project has unknown ToolsVersion '14.0'. Using the default tools version '4.0' instead. 
Target GetFrameworkPaths: 
/usr/lib/mono/4.5/Microsoft.Common.targets: warning : TargetFrameworkVersion 'v4.5.2' not supported by this toolset (ToolsVersion: 4.0). 
error CS0246: The type or namespace name 'RedditSharp' could not be found. Are you missing an assembly reference? 
error CS0246: The type or namespace name `IReadOnlyCollection' could not be found. Are you missing an assembly reference? 

e simili. Ho aggiunto RedditSharp.dll al GAC, quindi non so perché non riesce a trovarlo, e certamente non so perché non riesca a trovare IReadOnlyCollection. Ho il sospetto che è tutto perché non posso usare ToolsVersion 14.0.

Qualcuno sa qualcosa sulla creazione di C# su Linux? Che cosa sto facendo di sbagliato?

risposta

7

14 significa MSBuild 14, che fa parte di Visual Studio 2015. Solitamente Mono xbuild supporta solo l'ultima versione di Visual Studio dopo un po 'di tempo. Quindi aspettate di essere aggiornati, o hackerate xbuild se volete.

Un'altra soluzione è quello di convertire i vostri progetti per MSBuild versione 12

5

Siete di fronte due questioni diverse.

Prima gli avvertimenti circa ToolsVersion 14.0 e secondo gli errori lamentarsi 4.5.2 non essere supportato.

Basta modificare il framework di destinazione su 4.5 e il progetto verrà compilato. Gli avvisi ToolsVersion sono ancora presenti, ma la compilazione verrà completata correttamente.

Mi sono imbattuto nello stesso problema. Dopo aver modificato il framework di destinazione, tutto funziona correttamente.

+0

Anche ora 1,5 anni in poi ancora bisogno di declassare il framework .Net di 4.5 per i progetti da eseguire sotto MONO? –

0

Ho la versione Debian 8 (Jessie) di Raspbian con Mono 5.0 installato.

L'aggiornamento apparentemente MonoDevelop non è di aiuto. Così sono andato alla cartella contenente il file sln, trovato il file .csproj e modificato il Toolsversion (dovrebbe essere in cima righe del file) ci da "15.0" a "4.0". Ha funzionato.