So che è in ritardo, ma nel mio caso, Mono aveva come target una versione di .NET che non era installata. È stato corretto da cambiando il framework di destinazione.
Ho trovato il problema eseguendo xbuild
sul file SLN:
xbuild myProject.sln
ho ottenuto qualcosa di simile:
warning : Could not find project file /usr/lib/mono/3.5/Microsoft.CSharp.targets, to import. Ignoring.
L'avviso indica che il progetto in default per il targeting .NET 3.5 , ma suppongo che la versione non sia stata installata. Troviamo una versione che viene installato per la ricerca di quel file mancante:
find /usr/lib/mono -name "Microsoft.CSharp.targets"
Sulla mia macchina, /usr/lib/mono/4.5/Microsoft.CSharp.targets
è stato elencato, ma si può avere una versione diversa di .NET. Ignora i percorsi xbuild e msbuild.
Ovunque esista, passare al progetto, fare clic sul pulsante Impostazioni accanto al progetto nel riquadro della soluzione (il pulsante a discesa con l'immagine dell'ingranaggio) e fare clic su "Opzioni". Quindi in "Build" vedrai "General", fai clic su di esso e modifica il tuo "Target framework" nella versione .NET in cui la cartella contiene il file Microsoft.CSharp.targets. Nel mio caso, questo è 4,5.
Speriamo che questo aiuti qualcuno.
Prima di tutto suggerirei di eseguire xbuild sul progetto in modalità dettagliata e vedere a che cosa si espande MSBuildBinPath. – mikalai
quale versione di mono hai nel tuo sistema? – knocte
Hai installato 'mono-xbuild'? – Andy