2015-02-22 16 views
12

Quindi, ho MonoDevelop v5.7 su Linux Mint 16. Creo nuovo C# ConsoleProject con codice predefinito su di esso

 
using System; 

namespace Lab1 
{ 
    class MainClass 
    { 
     public static void Main (string[] args) 
     { 
      Console.WriteLine ("Hello World!"); 
     } 
    } 
} 

e provare a costruirlo F7. Successivamente ho l'errore: Errore: /../../Lab1/Lab1/Lab1.csproj: /../../Lab1/Lab1/Lab1.csproj non ha potuto importare "$ (MSBuildBinPath) \ Microsoft. CSharp.targets "(Lab1). Qualcuno ha qualche suggerimento?

+0

Prima di tutto suggerirei di eseguire xbuild sul progetto in modalità dettagliata e vedere a che cosa si espande MSBuildBinPath. – mikalai

+0

quale versione di mono hai nel tuo sistema? – knocte

+0

Hai installato 'mono-xbuild'? – Andy

risposta

18

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.

1

Il mio problema era che avevo accidentalmente cancellato il file packages.config per il progetto.

0

Se si tratta di un errore mono.

Quindi, aprire il menu Progetto Scegliere Build-> General e scegliere il framework installato.

Stavo lavorando su 3.5 ma su mono sono installati solo i 4.5 e 4.5.1.

Dopo aver selezionato il framework mi viene chiesto se continuerò con il 2010 o il 2012, ne scegli uno. Come il programma originale è stato scritto con il 2008 e il 3.5 su Win7. Questa deve essere la ragione. Ho risolto in questo modo.

Problemi correlati