Visual Studio解决方案包含两种类型的隐藏用户文件。一个是解决方案。suo文件,这是一个二进制文件。另一个是project .user文件,它是一个文本文件。这些文件到底包含哪些数据?

我也一直在考虑是否应该将这些文件添加到源代码控制(在我的情况下是Subversion)。如果我没有添加这些文件,而另一个开发人员签出了解决方案,Visual Studio会自动创建新的用户文件吗?


当前回答

其他人解释了为什么有*。Suo和*。在源代码控制下的用户文件不是一个好主意。

我建议你将这些模式添加到svn:ignore属性中,原因有二:

这样其他开发商就不会倒闭了 一个开发人员的设置。 所以当你查看状态或提交时 文件,这些文件不会使代码库变得混乱,也不会使您需要添加的新文件变得模糊。

其他回答

我不会。.suo, .user, obj/bin目录中任何可能改变每个“用户”的内容通常都不适合源代码控制

我们不提交二进制文件(*.suo),但我们提交.user文件。例如,.user文件包含用于调试项目的启动选项。你可以在“Debug”选项卡的项目属性中找到启动选项。我们在一些项目中使用了NUnit,并配置了NUnit -gui.exe作为项目的开始选项。如果没有.user文件,每个团队成员都必须单独配置它。

希望这能有所帮助。

其他人解释了为什么有*。Suo和*。在源代码控制下的用户文件不是一个好主意。

我建议你将这些模式添加到svn:ignore属性中,原因有二:

这样其他开发商就不会倒闭了 一个开发人员的设置。 所以当你查看状态或提交时 文件,这些文件不会使代码库变得混乱,也不会使您需要添加的新文件变得模糊。

正如在其他回答中所解释的,.suo和.user都不应该被添加到源代码控制中,因为它们是特定于用户/机器的(顺便说一下,最新版本VS的.suo被转移到专用的临时目录。VS,应该完全远离源代码控制)。

然而,如果你的应用程序需要一些环境设置来在VS中调试(这样的设置通常保存在.user文件中),准备一个示例文件(命名为.user. sample)并将其添加到源代码控制中以供参考可能会很方便。

在这样的文件中使用相对路径或依赖于环境变量而不是硬编码绝对路径是有意义的,因此示例可能足够通用,可以很容易地被其他人重用。

在MSDN网站上,它清楚地说明了这一点

解决方案用户选项(.suo)文件包含每个用户的解决方案 选项。该文件不应检入源代码控制。

所以我想说,在把东西签入源代码控制时,忽略这些文件是非常安全的。