MonoTouch Связывание собственных ссылок только в отладке

У меня есть проект MonoTouch, в который я хочу включить ссылку на некоторые родные библиотеки ios, которые используются только для тестирования и отладки. Мне не нужно, чтобы эти ссылки были скомпилированы в сборку релиза.

Я попытался отредактировать файл .csproj, чтобы иметь условие для ItemGroup, которое ссылается на собственные ссылки, но они, похоже, игнорируются.

 <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<NativeReference Include="some path">
  <IsCxx>false</IsCxx>
  <Kind>Static</Kind>
</NativeReference>

Я полагаю, что можно каким-то образом использовать параметр «Дополнительные аргументы mtouch» в окне «Параметры проекта». Я не уверен, хотя.

Кто-нибудь знает, как я могу связать нативную ссылку для конкретной конфигурации сборки только в MonoDevelop?


person Dale Smith    schedule 24.07.2012    source источник


Ответы (1)


MonoDevelop позволяет вам предоставлять разные дополнительные аргументы mtouch для каждой конфигурации, которую он определяет для вашего проекта. В целом это означает, что каждый из четырех: [Debug|Release]|iPhone[Simulator] может использовать разные настройки.

Если вы добавляете статическую библиотеку вручную, ее легко добавить (или удалить) из определенной цели.

Однако если вы используете привязки, сделанные с новой поддержкой [LinkWith], то эти дополнительные аргументы автоматически создаются за вас. Могут быть способы обойти это (например, изменить Build Action), но я их не пробовал.

person poupou    schedule 24.07.2012
comment
К сожалению, я использую новые привязки, поэтому дополнительные аргументы сделаны за меня. Если я посмотрю на вывод gcc_flags, то увижу, что библиотеки связаны. Ничто из того, что я пытался добавить в Дополнительные аргументы mtouch, не смогло это изменить. - person Dale Smith; 25.07.2012
comment
Вы должны отправить улучшенный отчет об ошибке в MonoDevelop на bugzilla.xamarin.com - это может быть уже возможно (но это нелегко обнаружить ;-) или это должно стать возможным в будущем (это очень хороший и обоснованный сценарий). - person poupou; 25.07.2012
comment
Вот чего я боялся. Я полагаю, что сейчас я могу просто создать 2 отдельных проекта: один для выпуска, один для отладочных сборок. В проекте отладки я могу просто связать все файлы из другого проекта и добавить туда собственные ссылки. Похоже на создание повторяющихся целей с использованием XCode. - person Dale Smith; 26.07.2012