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

Sof*_*tor 297 svn git version-control ignore visual-studio-2015

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

Pat*_*irk 315

不,您不应将其添加到源代码管理中.此文件夹的目的是将计算机和用户特定的文件移动到中心位置.在解释Visual Studio用户语音问题解释说得好:

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

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

  • 这是一个广泛的说,不要检查整个文件夹.如果您的网站需要特定的IIS Express配置(例如使用cookie的主机名工作),检查`applicationhost.config`可以帮助其他开发人员设置他们的环境,否则每个人都必须自己做,他们可能会发现它很难. (21认同)
  • 正如引用的lugberk所说:"今天没有办法告诉ASP.NET 5项目寻找这个".因此,我没有看到任何其他选项来共享ASP.NET 5项目之间的IIS Express配置设置,而不是检查.vs下的applicationhost.config文件.或者您是否看到任何其他/更好的解决方案? (6认同)
  • @Mrchief 我不是 IIS 开发人员,但我相信 [this answer](http://stackoverflow.com/a/30368937/1698557) 解决了这个问题。 (3认同)
  • @Mrchief:实际上这没有解决方法,这是最好的解决方案.我不认为你应该检查.vs文件夹,它不打算. (3认同)
  • 这个答案实际上不是解决方案,而是更多的解决方法(答案本身暗示).我想说的是二元答案对每个人来说可能都不够.根据您的设置,您可能必须排除该文件夹,但随后为`applicationhost.config`文件添加一个例外或类似的事件. (2认同)
  • 那你将如何管理共享配置? (2认同)

cre*_*ea1 83

Github提供了很多.gitignore模板.在他们的visual studio模板中,他们忽略了.vs文件夹.来自github模板的片段.

# Visual Studio 2015 cache/options directory
.vs/
Run Code Online (Sandbox Code Playgroud)

  • 这可以帮助某人(懒惰地)做出决定,但是没有强烈的建议或任何理由这样做.标题("Visual Studio 2015缓存/选项目录")有助于更多决策. (3认同)

Jim*_*lff 20

如Patrick的回答中uservoice所引用的引用中所述,该文件夹不用于源代码管理.

但是,评论也指出,在某些情况下,您可能希望包含该文件夹中的特定文件.

我会将此添加到.gitignore:

.vs/
Run Code Online (Sandbox Code Playgroud)

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

或者像这样使用git命令:

git add -f .vs/config/applicationhost.config
Run Code Online (Sandbox Code Playgroud)

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

  • 我想补充一点,如果你正在使用TFS,你可以使用.tfignore文件中的negate前缀在排除.vs文件夹后"重新包含"applicationhost.config文件.默认的.tfignore文件解释如下:".!前缀否定了一个模式.这可以用于在项目被树中较高的.tfignore文件排除后,或者通过团队项目集合的全局排除项目重新包含项目.清单". (3认同)