¿Cómo hago para que la tarea MSBuild en el xbuild de Mono use el framework.NET 3.5?
xamarin.ios .net-3.5 (1)
Estoy intentando construir un proyecto MonoTouch usando xbuild (en una Mac, claramente). Aquí está mi proyecto 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>
Cuando ejecuto esto, recibo la siguiente advertencia:
/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.
¿Cómo puedo tener xbuild reference v3.5 del framework? Como verá en el guión, he intentado una serie de enfoques, ninguno de los cuales parece estar funcionando.
[Además, no estoy seguro de por qué tengo que hacer referencia explícita a la biblioteca monotouch.dll, dado que se hace referencia en el archivo del proyecto (TestApp.csproj). Cualquier comentario sobre eso también sería apreciado.]
MonoTouch utiliza un superconjunto del marco de Silverlight, no 3.5, y actualmente no hay objetivos de xbuild para MonoTouch y su versión de marco. La implementación de esto requerirá objetivos personalizados que anulen la resolución del ensamblaje del marco, como los objetivos de Silverlight y MonoDroid.
Por ahora, sugiero que use el comando de compilación de la herramienta de línea de comandos de MonoDevelop, mdtool, es decir
/Applications/MonoDevelop.app/Contents/MacOS/mdtool build