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


Answers:


338

不,您不应将其添加到源代码管理中。此文件夹的目的是将机器和用户特定的文件移动到中央位置。有关Visual Studio用户语音问题的解释很好地解释了这一点:

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

这些都是您从不签入的文件,因为它们是从内部生成的或包含特定于计算机的信息。


23
说不要签入整个文件夹,这是一个大招。如果您的网站需要特定的IIS Express配置(例如使用主机名来使cookie正常工作),请签入applicationhost.config帮助其他开发人员设置其环境的方法,否则每个开发人员都必须自己完成操作,他们可能会发现很难解决的方法。
Mrchief 2015年

3
@Mrchief我不是IIS开发人员,但我相信此答案可以解决该问题。
Patrick Quirk 2015年

2
这个答案实际上不是解决方案,更多的是解决方法(答案本身暗示)。我要说的是,二进制答案可能并不适合所有人。根据您的设置,您可能必须排除该文件夹,然后为该文件添加一个例外,applicationhost.config或者为此添加一些例外。
Mrchief 2015年

3
@Mrchief:其实这不是解决方法,这是最好的解决方案。我认为您永远都不应签入.vs文件夹,这不是故意的。
DR

6
正如提到的lugberk的回答所指出的那样:“今天没有办法告诉ASP.NET 5项目寻找它”。因此,除了在.vs下检入applicationhost.config文件之外,没有其他任何选项可以在ASP.NET 5项目之间共享那些IIS Express配置设置。还是看到其他/更好的解决方案?
Gustin

86

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

# Visual Studio 2015 cache/options directory
.vs/

3
这可以帮助某人(懒惰)做出决定,但没有给出强有力的建议或任何理由。标题(“ Visual Studio 2015缓存/选项目录”)有助于做出更多决定。
Mohammad Dehghan

顺便提及,同一行适用于.hgignore
Charles Burns

23

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

然而就像注释也指出的那样,在某些情况下,您可能希望包含文件夹中的特定文件。

我将其添加到.gitignore:

.vs/

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

或使用像这样的git命令:

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

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


3
我想补充一点,如果您使用的是TFS,则可以在排除.vs文件夹之后,使用.tfignore文件中的negate前缀来“重新包含” applicationhost.config文件。默认的.tfignore文件是这样解释的:“!前缀使模式无效。在树中较高的.tfignore文件或Team Project Collection的全局排除项排除该项目之后,可以使用该前缀重新包含该项目。清单。”
亚伦
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.