Should I add the Visual Studio .suo and .user files to source control?Visual Studio解决方案包含两种类型的隐藏用户文件。一个是解决方案 我还想知道是否应该将这些文件添加到源代码管理中(在我的例子中是Subversion)。如果我不添加这些文件,而另一个开发人员签出了解决方案,Visual Studio会自动创建新的用户文件吗? 这些文件包含用户首选项配置,这些配置通常特定于您的计算机,因此最好不要将其放入SCM。而且,VS几乎每次执行时都会更改它,因此它总是由SCM标记为"已更改"。我也不包括,我在一个使用vs的项目中工作了2年,并且在这方面没有任何问题。唯一的小麻烦是调试参数(执行路径、部署目标等)存储在这些文件中的一个(不知道是哪个),因此如果您有一个标准,您将无法通过SCM"发布"它,以便其他开发人员"准备好使用"整个开发环境。 您不需要添加这些——它们包含每个用户的设置,其他开发人员不需要您的副本。 其他人也解释了为什么将 我建议您将这些模式添加到 我们不提交二进制文件(*.suo),但提交.user文件。.user文件包含调试项目的启动选项。您可以在"调试"选项卡中的项目属性中找到开始选项。我们在一些项目中使用了nunit,并将nunit-gui.exe配置为项目的启动选项。如果没有.user文件,每个团队成员都必须单独配置它。 希望这有帮助。 由于我在2011年通过谷歌找到了这个问题/答案,我想我会花点时间,把Visual Studio 2010创建的*.sdf文件的链接添加到可能不应该添加到版本控制中的文件列表中(IDE将重新创建它们)。由于我不确定*.sdf文件在其他地方是否合法使用,所以我只忽略了SVN中的特定[projectname].sdf文件。 为什么Visual Studio转换向导2010会创建大量的SDF数据库文件? 不,您不应该将它们添加到源代码管理中,因为它们是特定于用户的。
.user文件包含项目的用户选项(suo用于解决方案),并扩展项目文件名(例如anything.csproj.user包含anything.csproj项目的用户设置)。 默认情况下,Microsoft的Visual SourceSafe不在源代码管理中包含这些文件,因为它们是用户特定的设置文件。如果您使用SVN作为源代码管理,我将遵循这个模型。 这似乎是微软对此事的看法: 向源代码管理添加(和编辑).suo文件
Visual Studio将自动创建它们。我不建议将它们放在源代码管理中。很多时候,本地开发人员的sou文件导致vs在该开发人员框中的行为不稳定。删除文件,然后让vs重新创建它,总是可以解决问题。 在msdn网站上,它清楚地表明
所以我想说,在将文件签入到源代码管理时忽略这些文件是非常安全的。 我不会的。任何可以根据"用户"改变的东西在源代码管理中通常都是不好的。.suo,.user,obj/bin目录 这些文件是用户特定的选项,应该独立于解决方案本身。Visual Studio将根据需要创建新的,因此不需要将它们签入到源代码管理中。实际上,最好不要这样做,因为这样可以让单个开发人员根据自己的需要定制自己的环境。 它们包含通常分配给单个开发人员的项目的特定设置(例如,调试应用程序时要启动的启动项目和启动页)。 所以最好不要将它们添加到版本控制中,留下vs重新创建它们,这样每个开发人员都可以拥有他们想要的特定设置。 无法对.user文件进行源代码管理,因为这是用户特定的。它包含远程机器的名称和其他与用户相关的东西。这是一个与vcproj相关的文件。 .suo文件是一个与sln相关的文件,它包含"解决方案用户选项"(启动项目)、Windows位置(停靠的内容和位置、浮动的内容)等)。 它是一个二进制文件,我不知道它是否包含"用户相关"的内容。 在我们公司,这些文件不受源代码管理。 .user是用户设置,我认为.suo是解决方案用户选项。您不希望这些文件受源代码管理;它们将为每个用户重新创建。 使用RationalClearCase,答案是否。只有.sln&;*proj应该在源代码管理中注册。 我不能回答其他供应商的问题。如果我记得正确的话,这些文件是"用户"特定的选项,您的环境。 不要将这些文件添加到版本控制中。如果将这些文件签入到版本控制中,将使用工作站特定信息自动生成这些文件,这将在其他工作站中造成故障。 如其他答案所述,不应将 但是,如果您的应用程序需要一些环境设置来在VS中进行调试(这些设置通常保存在 这种文件中没有硬编码的绝对路径,而是使用相对路径或依赖于环境变量是有意义的,因此样本可能是足够通用的,可以很容易地被其他人重用。 如果在projectproperties>debugging>environment中设置了可执行目录依赖项,则路径存储在".user"文件中。 假设我在上面提到的字段中设置了这个字符串:"path=c:xyzin"这是存储在".user"文件中的方式: 这对我们在OpenCV工作有很大帮助。我们可以为不同的项目使用不同版本的opencv。另一个优点是,在新机器上设置项目非常容易。我们只需要复制相应的依赖目录。因此,对于某些项目,我更喜欢将".user"添加到源代码管理中。 尽管如此,它还是完全依赖于项目。你可以根据需要打电话。 不,它们不应该被提交到源代码管理,因为它们是特定于开发人员/机器的本地设置。 GitHub在https://github.com/github/gitignore/blob/master/VisualStudio.gitignore上为要忽略的Visual Studio用户维护建议的文件类型列表 对于SVN,我有以下
|