.dtbcache 文件有啥作用?

Posted

技术标签:

【中文标题】.dtbcache 文件有啥作用?【英文标题】:What does the .dtbcache file do?.dtbcache 文件有什么作用? 【发布时间】:2018-10-24 21:20:33 【问题描述】:

我有一个 C# WinForms 项目,我正在 Visual Studio 2017 中处理该项目(尽管它最初是在 2015 版本中创建的)。

我不记得做过什么特别的事情,但它添加了一个名为 .dtbcache 的文件,它想添加到 git 中。该文件没有扩展名,Google 搜索没有显示任何结果。

文件位于..\repos\myprject\.vs\MyProject\DesignTimeBuild。这意味着文件名的“dtb”部分可能意味着 design time build,但这并不是真的好多了。

我可以将其删除或添加到 .gitignore 吗?除非需要,否则我不希望将其包含在我们的 git 存储库中。

【问题讨论】:

【参考方案1】:

简短回答:您可以安全地将其从您的 Git 存储库中排除。

长答案:

你说得对,dtb 代表设计时构建。这是一个由 VS2017 自动创建的文件,包含更多信息 here 和 here(链接到在 Visual Studio project system 工作的人的博客)。总之,Visual Studio 或多或少地推断将生成哪些文件,以确保 Intellisense 按预期完全可用。

从链接的文章中,这样做的目的之一是确保 Visual Studio 在某些情况下有答案:

给定项目文件中的程序集引用,该引用将在编译时实际引用磁盘上的哪个程序集? 给定一个 XAML 文件,XAML 编译器在编译时生成的代码是什么样的? 给定一个 glob 文件模式 (*.cs),在编译时实际上将包含哪些文件?

因此,动态生成的文件在您的 Git 存储库中不需要,可以安全地排除在外。此外,据我所知,这些文件是 Visual Studio 2017 专门制作和使用的。

【讨论】:

以上是关于.dtbcache 文件有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章

bcache在ceph中的存量替代方案

关于bcache的一些事情

关于bcache的一些事情

Ubuntu Kylin 上如何用 bcache 实现 SSD 缓存

自定义配置编译linux内核

阈值对矩阵配置文件有啥作用?