Come faccio a rendere il compito MSBuild in uso xbuild di Mono .NET 3.5 framework?
-
02-10-2019 - |
Domanda
Sto cercando di costruire un progetto con MonoTouch xbuild (su un Mac, chiaramente). Ecco il mio progetto xbuild:
<Project DefaultTargets="Application" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ApplicationProjectFilePath>..\TestApp\TestApp.csproj</ApplicationProjectFilePath>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<MonoTouchReferencePath>/Developer/MonoTouch/usr/lib/mono/2.1/</MonoTouchReferencePath>
</PropertyGroup>
<Target Name="Application">
<MSBuild Projects="$(ApplicationProjectFilePath)" Targets="Rebuild" Properties="Configuration=AdHoc;Platform=iPhone;ReferencePath=$(MonoTouchReferencePath)" ToolsVersion="3.5"/>
</Target>
</Project>
Quando eseguo questo, ottengo il seguente avviso:
/Library/Frameworks/Mono.framework/Versions/2.6.7/lib/mono/3.5/Microsoft.Common.targets: warning : Found a conflict between : 'System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' and 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. Using 'System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' reference.
v3.5 riferimento Come ho xbuild del quadro? Come vedrete dalla sceneggiatura, ho provato un certo numero di approachs, nessuno dei quali sembrano funzionare.
[Inoltre, io non sono sicuro perché devo fare riferimento in modo esplicito alla libreria monotouch.dll - dato che è fatto riferimento nel file di progetto (TestApp.csproj). Eventuali commenti su questo sarebbe anche apprezzato.]
Soluzione
MonoTouch utilizza un superset del quadro Silverlight, non 3,5, e attualmente ci sono obiettivi su xbuild per MonoTouch e la sua versione quadro. L'implementazione di questa richiederà obiettivi personalizzati risoluzione dell'Assemblea quadro di esclusione, come gli obiettivi di Silverlight e MonoDroid.
Per il momento, vi suggerisco di utilizzare il comando build di strumento a riga di comando di MonoDevelop, mdtool, cioè.
/Applications/MonoDevelop.app/Contents/MacOS/mdtool build