【问题标题】:Avoiding merge problems when sharing solution between Xamarin Studio and Visual Studio在 Xamarin Studio 和 Visual Studio 之间共享解决方案时避免合并问题
【发布时间】:2015-03-06 14:59:12
【问题描述】:

在 Xamarin Studio 和 Visual Studio 之间共享解决方案时,对解决方案/项目的更改会导致意外结果。 .sln/.project 文件的源文本有意外修改,例如

  • UUID 由小写变为大写
  • .sln 文件中的行重新排序
  • 更改了“工具版本”
  • 更改了“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 存储库包含示例。 http://forums.xamarin.com/discussion/comment/95851 线程也描述了这个问题。

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

【问题讨论】:

  • 一种解决方法是创建一个脚本来生成特定于 Xamarin 的解决方案和项目文件,并在每次结帐后运行它。至于将修改恢复到 VS 版本,脚本需要反向操作。有志愿者吗?

标签: visual-studio xamarin xamarin-studio


【解决方案1】:

一个答案是等待 Xamarin Studio 版本 6。

根据 Stephan Palmer 提交的bug report,上述问题已在该版本中得到解决。

【讨论】:

  • 谁有想法,什么时候发布版本6?目前我们有 Alpha 3。
  • 自从发布这个问题以来,我的团队已经转移到仅 mac 开发。因此,很遗憾我没有在 Visual Studio 和较新的 Xamarin Studio 版本之间共享项目文件的经验。但是,正如@chue-x 所回答的,相应的错误报告已为 Xamarin Studio 6 修复。当前发布的 Xamarin Studio 稳定版本是 6.1.2.44。同样有趣的是:最近宣布的 Visual Studio for Mac 明确支持与 Visual Studio 共享项目文件。
【解决方案2】:

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

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

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

并使用 CMake 脚本。

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

kitware@kitware.com

希望对您有所帮助, 克莱尔W

【讨论】:

    猜你喜欢
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2018-02-09
    • 2015-11-28
    相关资源
    最近更新 更多