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

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


当前回答

由于我在2011年通过谷歌找到了这个问题/答案,我想我应该花点时间添加*的链接。由Visual Studio 2010创建的SDF文件被添加到可能不应该添加到版本控制的文件列表中(IDE将重新创建它们)。因为我不确定a *。sdf文件可能在其他地方有一个合法的用途,我只是忽略了特定的[projectname]。sdf文件。

为什么Visual Studio转换向导2010创建一个巨大的SDF数据库文件?

其他回答

这些文件是特定于用户的选项,应该独立于解决方案本身。Visual Studio会根据需要创建新的,所以它们不需要检入到源代码控制中。实际上,最好不要这样做,因为这样可以让开发人员根据自己的需要定制自己的环境。

你不需要添加这些——它们包含每个用户的设置,其他开发人员不会想要你的副本。

如果你在ProjectProperties>Debugging>Environment中设置了可执行目录依赖项,路径将存储在'。用户的文件。

假设我在上面提到的字段中设置这个字符串:"PATH=C:\xyz\bin" 这就是它被存储在'中的方式。用户的文件:

< LocalDebuggerEnvironment >路径= C: \ xyz \ bin美元(LocalDebuggerEnvironment) < / LocalDebuggerEnvironment >

这对我们在OpenCV中工作有很大帮助。我们可以为不同的项目使用不同版本的OpenCV。另一个优点是,在新机器上建立我们的项目非常容易。我们只需要复制相应的依赖dirs。所以对于一些项目,我更喜欢添加'。用户'到源代码控制。

尽管如此,它完全依赖于项目。你可以根据自己的需要接听电话。

不,您不应该将它们添加到源代码控制中,因为—正如您所说—它们是特定于用户的。

SUO(解决方案用户选项):记录 所有可能的选择 把你的解决方案联系起来 每次你打开它,里面都有 自定义 取得了。

.user文件包含项目的用户选项(而SUO是解决方案)并扩展了项目文件名(例如anything.csproj.user包含anything.csproj.user的用户设置)。csproj项目)。

Visual Studio会自动创建它们。我不建议把它们放在源代码控制中。曾经有很多次,本地开发人员的SOU文件导致VS在开发人员的盒子上表现不稳定。删除文件,然后让VS重新创建它总是修复问题。