首页 / 知识
我应该将Visual Studio .suo和.user文件添加到源代码管理中吗?
2023-04-15 22:20:00

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,我有以下
|
最新内容
相关内容
linux命令所有用户?
linux命令所有用户?,系统,密码,信息,情况,名称,命令,用户,时间,地址,位置,如何查询linux系统中所有用户的用户名和密码首先进入到linux桌面,在linux命令进入用户?
linux命令进入用户?,系统,密码,用户,地址,信息,软件,命令,用户名,联系方式,电脑,linux进入第一次启动+怎么样创建用户?1、进入Linux系统,登陆管linux复制命令文件?
linux复制命令文件?,系统,文件,命令,目录,基本知识,源文件,目标,文件夹,路径,选项,linux怎么复制命令cp命令:用于复制文件或目录。语法如下:`baslinux下文件均分命令?
linux下文件均分命令?,管理,情况,系统,工作,信息,地址,命令,目录,单位,设备,Linux文件系统操作命令1、cat:可以显示文件的内容(经常和more搭配linux命令用户管理?
linux命令用户管理?,系统,密码,管理,工作,信息,地址,工具,命令,用户,基础,LInux用户管理查看/etc/group文件,只存在名称为modifiedgroup的用户linux用户与组的命令?
linux用户与组的命令?,管理,系统,名称,用户组,密码,用户,命令,情况,信息,单位,Linux里面groups+用户命令作用是什么?1、在Linux中,用户组是一种linux查文件数量命令?
linux查文件数量命令?,系统,数据,电脑,命令,文件,信息,代码,对比,软件,第三,linux系统如何查看自己创建了多少文件夹为了实验,我打算总共创建 7linux看系统用户命令?
linux看系统用户命令?,系统,信息,密码,命令,服务,名称,网络,情况,软件,工具,Linux查看所有用户用什么命令输入“cat /etc/passwd”命令查看所linux赋权用户命令?
linux赋权用户命令?,系统,密码,用户,权限,地址,状态,数字,软件,管理,电脑,Linux系统下用户以及权限管理字段5:用户信息记录字段 字段6:用户的家linux命令去重文件?
linux命令去重文件?,系统,工作,命令,信息,数据,环境,代码,文件,目录,操作,Linux的命令行中一些文本操作技巧的实例分享1、把文件中所有的 findlinux匹配文件名命令?
linux匹配文件名命令?,系统,时间,发行,位置,工具,软件,名称,盘后,电脑,盘中,linux如何查找某个文件名1、用CRT软件连接一个Linux系统 。打开需改文件名linux命令?
改文件名linux命令?,名字,软件,文件,命令,位置,系统,文件名,目录,指令,方面,linux下对文件重命名是什么命令Linux重命名文件是rename。Linux中