在 Xamarin Studio 和 Visual Studio 之间共享解决方案时,对解决方案/项目的更改会导致意外结果。.sln/.project 文件的源文本进行了意外的修改,例如
- UUID 从小写更改为大写
- 对.sln文件中的行重新排序
- 更改了"工具版本"
- 更改了"Visual Studio"版本 其他更改,
- 例如更改换行符,将"true"更改为"True",...
例如,在更改启动项目、添加引用项目、构建解决方案时会发生这种情况。
这些更改导致Xamarin Studio和Visual Studio用户之间的"提交乒乓球",并使合并变得更加困难。我们在 Xamarin Studio 5.5.4 和 Visual Studio 2013 Update 4 中遇到了此问题。https://github.com/perpetual-mobile/SharingXamarinSolution 存储库包含示例。http://forums.xamarin.com/discussion/comment/95851 线程也描述了此问题。
如何避免这个问题?当仅使用Xamarin Studio和Visual Studio时,是否可以防止这种情况发生?或者我们是否需要一个额外的工具(例如 cmake)?
一个答案是等待 Xamarin Studio 的第 6 版。
根据Stephan Palmer提交的错误报告,上述问题已在该版本中得到解决。
如果项目在 Xamarin for Visual Studio 中启动,而不是在 Xamarin 独立版本中启动,您是否会看到相同的行为?
想到的最快的解决方法是使用 vcproj2cmake(使用 Ruby)
http://sourceforge.net/projects/vcproj2cmake/
并使用 CMake 脚本。
我强烈建议联系 Kitware 并要求他们提供交叉编译帮助 - 他们可能已经有一个 CMake 脚本来解决此问题,因为 Xamarin 非常受欢迎。
kitware@kitware.com
希望有帮助, 克莱尔·