Visual Studio 2015数据库项目目录包含扩展名为jfm的文件

The*_*ama 235 database-project sql-server-data-tools visual-studio-2015

假设我们有一个名为的数据库项目,MyDatabase那么一个名为的文件MyDatabase.jfm出现在项目目录的根目录中.

  • 在Visual Studio中打开项目时,它被独占锁定
  • 它是一个二进制文件
  • 它最近才开始出现(过去几天)

我做过Google搜索,但没有提供任何见解.有一些旧软件的引用,但大多数结果是垃圾邮件/木马软件.我也看过SO,但这也没有产生任何结果.

有谁知道它是什么以及它为什么存在?

计划是将它添加到Visual Studiogitignore文件中,但我需要知道它首先提交PR ...

UPDATE

这现在打破了团队资源管理器更改视图."输出"窗口中未显示以下内容的更改:

输出选项卡中的错误的屏幕截图

因此,我将把文件添加到.gitignore文件并提交PR.最终了解这个文件是什么以及它来自哪里会很好...

Kev*_*ane 180

这是由SQL Projects依赖的ESENT引擎添加新文件引起的问题.这是Windows 10 Anniversary Edition中的一项新功能,可以避免数据丢失,但SQL Projects将.dbmdl缓存文件存储在项目根目录下,这意味着此锁定文件将添加到Git源代码控制中.

笔记:

  • 已经接受了在GitIgnore中修复此问题的pull请求,并且Visual Studio团队正在努力将此包含在将来的更新中.这将确保对于新项目,.gitignore文件包含.jfm,并且不会出现问题
  • 核心SSDT团队正在努力在未来的更新中为此提供解决方案,但目前最好的解决方案是按照评论中的讨论手动添加.

披露:我在Microsoft的SSDT团队工作.

  • 我刚刚发现了这个错误,我花了半天的时间来弄清楚发生了什么.说真的,谁决定将dbmdl放在项目根目录中呢?不应该是/ obj或什么?我的意思是,偶尔我必须删除.dbmdl才能保持SSDT正常工作.它混淆了地狱,我的团队时,我解释说,"干净"实际上并没有删除此文件,因为它不是在OBJ,现在傻dbmdl已经毁了我的这个JFM废话生产力的另一个几个小时. (7认同)
  • 仅供参考,这是在最新的 VS .gitgnore 中。我刚刚删除了旧的并让 VS 重新创建它,这为我的团队解决了问题。如果现有文件中有自定义条目,请小心。 (2认同)

emr*_*ins 63

其他人的外卖是......

  • 加入*.jfm你的.gitignore

(在powershell中Add-Content .\.gitignore *.jfm)

  • 您可能需要运行 git rm --cached *.jfm

  • 对这个答案一百次是。清晰,简单,而且有效。顺便说一句,我不久前放弃了 SSDT 和 sqlproj。而这种类型的问题正是原因所在。现在我依靠普通的旧 sql 脚本和自定义迁移。更易于管理和更少的头痛(您认为相反)。 (2认同)