Как заставить задачу MSBuild в Monu's xbuild использовать платформу .NET 3.5? - PullRequest
1 голос
/ 12 сентября 2010

Я пытаюсь построить проект MonoTouch, используя xbuild (на Mac, понятно). Вот мой проект 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>

Когда я запускаю это, я получаю следующее предупреждение:

/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.

Как я могу получить ссылку на xbuild v3.5 фреймворка? Как вы увидите из сценария, я попробовал несколько подходов, ни один из которых не работает.

[Также я не уверен, почему я должен явно ссылаться на библиотеку monotouch.dll - учитывая, что она указана в файле проекта (TestApp.csproj). Любые комментарии по этому вопросу также будут оценены.]

1 Ответ

1 голос
/ 13 сентября 2010

MonoTouch использует расширенный набор среды Silverlight, а не 3.5, и в настоящее время нет целей xbuild для MonoTouch и его версии платформы. Реализация этого потребует пользовательских целей, которые переопределяют разрешение сборки платформы, таких как цели Silverlight и MonoDroid.

На данный момент я предлагаю вам использовать команду build инструмента командной строки MonoDevelop, mdtool, т.е.

/Applications/MonoDevelop.app/Contents/MacOS/mdtool build
...