¿Cómo hago la tarea de MSBuild en uso xbuild de Mono .NET Framework 3.5?
-
02-10-2019 - |
Pregunta
Estoy tratando de construir un proyecto utilizando xbuild MonoTouch (en un Mac, claro). 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, me sale el siguiente mensaje de 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 v3.5 referencia del marco? Como se verá a partir de la secuencia de comandos, lo he intentado varias approachs, ninguno de los cuales parecen estar funcionando.
[Además, no estoy seguro de por qué tengo que hacer referencia explícita a la biblioteca monotouch.dll - teniendo en cuenta que se hace referencia en el archivo de proyecto (testApp.csproj). Cualquier comentario sobre que también sería apreciada.]
Solución
MonoTouch utiliza un superconjunto del marco de Silverlight, no 3.5, y actualmente hay objetivos sin xbuild para MonoTouch y su versión del marco. La implementación de este requerirá objetivos personalizados que resolución de la Asamblea marco de anulación, al igual que los objetivos de Silverlight y MonoDroid.
Por ahora, le sugiero que utilice el comando de generación de la herramienta de línea de comandos de MonoDevelop, mdtool, es decir.
/Applications/MonoDevelop.app/Contents/MacOS/mdtool build