是否可以为每个用户设置Xamarin Studio StartupItem'而不是在sln文件?

时间:2014-07-10 06:30:52

标签: visual-studio xamarin version-control xamarin-studio sln-file

我们有一个包含多个平台的多个应用的​​解决方案文件。在开发用户故事时,可以选择10个项目作为默认启动项目。不幸的是,StartupItem存储在sln文件中,因此导致我们的版本控制系统中出现意外的合并(或更糟糕的是:冲突)。据我了解,Visual Studio有一个.suo文件来存储每个用户的这些设置。

为什么Xamarin Studio将StartupItem存储在sln文件中?是否支持suo文件?或者这个提交ping-pong还有其他解决方法吗?

3 个答案:

答案 0 :(得分:3)

如果您使用Git作为版本控制系统,您可以轻松定义特定文件的过滤器,如this answer中所示:

  1. 在本地*.sln filter=startupitem文件中定义新过滤器.gitattributes,或在.git/info/attributes中全局定义过滤器。
  2. 在命令行上通过git config filter.startupitem.clean "sed '/StartupItem\ =\ .*.csproj/'d"定义此过滤器的行为。 (您也可以使用--global选项。)
  3. Git仍会将解决方案文件列为未提交的更改。但是当文件添加到舞台时,将应用过滤器并且线条消失。

    结帐后,此行缺失,Xamarin设置了一些默认启动项目。从现在开始,您可以在不检查选择的情况下切换项目。 Xamarin只会本地将该行添加回*.sln文件。

答案 1 :(得分:1)

只需注意 - Xamarin已在5.7版本中修复此问题:

http://developer.xamarin.com/releases/studio/xamarin.studio_5.7/xamarin.studio_5.7/

从发行说明:"启动项目名称现在存储在用户解决方案设置文件中,而不是.sln文件中。"

所以> = v 5.7不需要过滤器或任何特殊的东西。

答案 2 :(得分:0)

一种解决方案是在您签入时检查文件的逐个文件更改。因此,除非添加了新项目,否则不应该对解决方案文件进行检查。

我们在工作中所做的下一个目标是使用premake构建解决方案文件。因此,我们不再检查.sln或.vcproj文件,因为这些文件是在结帐后自动构建的。这个解决方案是为了解决项目文件发生了很大变化的事实,因此开发中心没有听取第一条规则"检查你的更改"