我应该将 Visual Studio 2015 .vs 文件夹添加到源代码管理吗?

Posted

技术标签:

【中文标题】我应该将 Visual Studio 2015 .vs 文件夹添加到源代码管理吗?【英文标题】:Should I add the Visual Studio 2015 .vs folder to source control? 【发布时间】:2015-10-30 23:13:23 【问题描述】:

Visual Studio 2015 创建一个名为“.vs”的新文件夹。它的目的是什么,我应该将它添加到源代码管理中吗?

【问题讨论】:

.vs\config\applicationhost.config in source control的可能重复 @MichaelFreidgeim:不确定,另一个问题是关于特定文件的,这是关于整个文件夹的。但碰巧一些更广泛的答案同时适用。 【参考方案1】:

不,您不应将其添加到源代码管理中。此文件夹的目的是将特定于机器和用户的文件移动到中心位置。 Visual Studio User Voice issue上的解释很好解释:

到目前为止,我们已将 .SUO 文件和 VB/C# 编译器 IntelliSense 数据库文件移至新位置。所有新项目特定的机器本地文件也将添加到新位置。我们计划在未来的版本中更进一步,并正在研究如何改进构建输出的目录结构和其他可能会使源代码树混乱的现有文件。

这些都是您永远不会签入的文件,因为它们是从构建中生成的或包含特定于机器的信息。

【讨论】:

说不要签入整个文件夹有点笼统。如果您的网站需要特定的 IIS Express 配置(例如使用主机名使 cookie 工作),签入 applicationhost.config 有助于其他开发人员设置他们的环境,否则每个人都必须自己做,他们可能会发现艰难的路。 @Mrchief 我不是 IIS 开发人员,但我相信 this answer 解决了这个问题。 那个答案真的不是一个解决方案,更多的是一种解决方法(答案本身暗示了这一点)。我想说的是,二元答案可能对每个人都不够。根据您的设置,您可能必须排除该文件夹,然后为 applicationhost.config 文件添加一个例外或达到此效果的内容。 @Mrchief:实际上这不是解决方法,这是最好的解决方案。我认为您不应该签入 .vs 文件夹,它不是故意的。 正如 lugberk 引用的回答所说:“今天没有办法告诉 ASP.NET 5 项目寻找这个”。因此,除了检入 .vs 下的 applicationhost.config 文件之外,我没有看到任何其他选项可以在 ASP.NET 5 项目之间共享这些 IIS Express 配置设置。或者你有没有其他/更好的解决方案?【参考方案2】:

Github 提供了很多 .gitignore 模板。在他们的 Visual Studio 模板中,他们忽略了 .vs 文件夹。来自template on github 的片段。

# Visual Studio 2015 cache/options directory
.vs/

【讨论】:

这可以帮助某人(懒惰地)做出决定,但没有给出强烈的建议或任何这样做的理由。标题(“Visual Studio 2015 缓存/选项目录”)有助于做出更多决定。 顺便说一句,同一行适用于 .hgignore【参考方案3】:

正如 Patrick 的回答中从 uservoice 中引用的内容所述,该文件夹不适用于源代码控制。

但是像 cmets 也指出,在某些情况下您可能希望包含文件夹中的特定文件。

我会将其添加到 .gitignore:

.vs/

如果需要,然后使用您喜欢的任何 git 工具添加某些文件,例如 applicationhost.config 的共享配置。

或者使用这样的 git 命令:

git add -f .vs/config/applicationhost.config

这样 git 会添加文件,即使它被忽略了。

【讨论】:

我想补充一点,如果您使用的是 TFS,您可以使用 .tfignore 文件中的否定前缀在排除 .vs 文件夹后“重新包含”一个 applicationhost.config 文件。默认的 .tfignore 文件解释如下:“! 前缀否定模式。这可用于在被树中较高的 .tfignore 文件或团队项目集合的全局排除项排除后重新包含项目列表。”

以上是关于我应该将 Visual Studio 2015 .vs 文件夹添加到源代码管理吗?的主要内容,如果未能解决你的问题,请参考以下文章

第一次使用 OpenGL:我应该如何配置 Visual Studio Express 2015 来构建和运行 OpenGL 项目?

在 Visual Studio 2015 中打开 Visual Studio 2017 项目

在 Visual Studio 2015 C# 中禁用红色波浪线

蜡 v3.10.01823,Visual Studio 2015

Visual Studio 2015 如何将分支合并到 master?

Visual Studio 2015 远程调试不兼容平台错误