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