能否将Xamarin Studio的StartupItem设置为“每个用户”,而不是在sln文件中设置?

4
我们有一个包含多个平台应用程序的解决方案文件。在开发用户故事时,可以选择10个项目作为默认启动项目。不幸的是,启动项存储在sln文件中,因此导致版本控制系统中不必要的合并(或更糟糕:冲突)。据我所知,Visual Studio有一个.suo文件,用于存储每个用户的此类设置。
为什么Xamarin Studio将StartupItem存储在sln文件中?是否支持suo文件?还是有其他解决方法来避免这种提交-反馈循环?

启动项不是存储在.sln文件中,而是存储在.suo文件中(不是 sln),该文件包含其他用户偏好设置,如调试等,并且是二进制文件,因此最好不要放入版本控制。 - stijn
你说得对。我需要这个在Xamarin Studio中工作,并澄清问题。 - Rodja
3个回答

3
如果您使用Git作为版本控制系统,您可以像这个答案中所示轻松定义特定文件的过滤器:
  1. 在本地.gitattributes文件或全局.git/info/attributes中定义一个新的过滤器*.sln filter=startupitem。
  2. 通过命令行上的git config filter.startupitem.clean "sed '/StartupItem\ =\ .*.csproj/'d"来定义该过滤器的行为。(您也可以使用--global选项。)
Git仍会将解决方案文件列为未提交的更改。但是,当将文件添加到阶段时,将应用过滤器并使该行消失。
检出后,此行将消失,Xamarin将设置一些默认的启动项目。从现在开始,您可以在不检入选择的情况下切换项目。 Xamarin只会在.sln文件中本地添加该行。

1

0

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

我们在工作中采用的下一个级别是使用premake构建解决方案文件。因此,我们不再提交.sln或.vcproj文件,因为这些文件在检出后会自动构建。这个解决方案是为了解决我们的项目文件经常变化,因此一些开发中心没有遵循“检查您的更改”的第一条规则。


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