Избегайте проблем с объединением при совместном использовании решения между Xamarin Studio и Visual Studio

При совместном использовании решения между Xamarin Studio и Visual Studio изменения в решении/проектах приводят к неожиданным результатам. Исходный текст файлов .sln/.project имеет неожиданные изменения, например.

  • UUID изменились с нижнего на верхний.
  • Переупорядочение строк в файле .sln
  • Изменено "ToolsVersion"
  • Изменена версия "Visual Studio"
  • Другие изменения, такие как изменение разрыва строки, изменили "true" на "True",...

Это, например, происходит при смене проекта запуска, добавлении ссылочных проектов, построении решения.

Эти изменения приводят к "фиксации пинг-понга" между Xamarin Studio и пользователями Visual Studio и усложняют слияние. Мы столкнулись с этой проблемой с Xamarin Studio 5.5.4 и обновлением Visual Studio 2013 4. Хранилище https://github.com/perpetual-mobile/SharingXamarinSolution содержит примеры. В этой статье описывается поток http://forums.xamarin.com/discussion/comment/95851.

Как избежать этой проблемы? Можно ли предотвратить это при использовании только Xamarin Studio и Visual Studio? Или нам нужен дополнительный инструмент (например, cmake)?

Ответы

Ответ 1

Один ответ - дождаться версии 6 Xamarin Studio.

В соответствии с сообщением об ошибке, поданным Стефаном Палмером, проблемы, поднятые выше, были разрешены в этой версии.

Ответ 2

Вы видите такое же поведение, если проект запускается в Xamarin для Visual Studio по сравнению с автономными версиями Xamarin?

Самое быстрое обходное решение, которое приходит на ум, - использовать vcproj2cmake (использует Ruby)

http://sourceforge.net/projects/vcproj2cmake/

и используйте сценарии CMake.

Я настоятельно рекомендую обратиться в Kitware и попросить их для кросс-компиляции помощи - у них может быть CMake script, чтобы решить эту проблему, поскольку Xamarin настолько популярен.

[email protected]

Надеюсь, что это поможет,              ClaireW