在Xamarin Studio和Visual Studio之间共享解决方案时避免合并问题

15
当在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 Update 4时遇到了这个问题。存储库https://github.com/perpetual-mobile/SharingXamarinSolution包含示例。线程http://forums.xamarin.com/discussion/comment/95851也描述了此问题。

如何避免这个问题?在使用Xamarin Studio和Visual Studio时,是否可以防止这种情况发生?还是我们需要额外的工具(例如cmake)?


一个解决方法是创建一个脚本来生成Xamarin特定的解决方案和项目文件,并在每次检出后运行它。至于将修改内容返回到VS版本中,该脚本需要反向操作。有志愿者吗? - webXL
2个回答

5

一个解决方案是等待Xamarin Studio的第6版。

根据Stephan Palmer提交的错误报告,上述问题已在该版本中得到解决。


有人知道什么时候会发布第6版吗?目前我们有Alpha 3。 - Alexander Pacha
自从发布这个问题以来,我的团队已经转向仅使用Mac进行开发。因此,我不幸地没有在Visual Studio和新的Xamarin Studio版本之间共享项目文件的经验。但是,正如@chue-x所回答的那样,相应的错误报告已经在Xamarin Studio 6中得到了解决。目前发布的稳定版本是Xamarin Studio 6.1.2.44。另外有趣的是:最近宣布的Visual Studio for Mac明确支持与Visual Studio共享项目文件。 - Stephan Palmer

0

如果项目在Visual Studio的Xamarin版本和独立的Xamarin版本中启动,您是否看到相同的行为?

我能想到的最快的解决方法是使用vcproj2cmake(使用Ruby)。

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

并使用CMake脚本。

我强烈建议联系Kitware,向他们寻求交叉编译的帮助 - - 他们可能已经有了一个CMake脚本来解决这个问题,因为Xamarin非常流行。

kitware@kitware.com

希望这能有所帮助, ClaireW

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接