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


242

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

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

我已经完成了Google搜索,但没有提供任何见解。有一些旧软件的参考,但大多数结果是垃圾邮件/特洛伊木马。我也查看过SO,但是也没有产生任何结果。

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

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

更新

现在,这打破了“团队资源管理器更改”视图。在“输出”窗口中,未显示以下任何更改:

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

因此,我将文件添加到.gitignore文件并提交PR。最好最终了解这个文件是什么以及它的来源...


61
我已经用周年纪念日更新了Windows 10,现在正在生成此文件。
Fabian Vilers '16

16
将* .jfm添加到.gitignore文件似乎可以解决此问题。
Fabian Vilers '16

4
我不得不开玩笑:您尝试卸载并重新安装吗?
pookie

3
+1出现了根本没有任何变化的问题。经过很多努力后,通过gitbash从源代码管理中删除了jfm文件并将其添加到gitignore文件中解决了该问题。必须关闭Visual Studio才能使git“ git rm -rf”工作。.真是一场噩梦!
Noobie3001 2013年

2
@ Noobie3001也为我工作。将* .jfm添加到.gitignore,然后从远程git repo中删除.jfm,放弃本地更改并与远程同步。问题已解决。
Ivan G.

Answers:


187

这是由SQL Projects依赖ESENT引擎添加新文件引起的。这是Windows 10周年纪念版中的一项新功能,可以避免数据丢失,但是SQL Projects将.dbmdl缓存文件存储在项目根目录下意味着将这个锁定文件添加到Git源控件中。

笔记:

  • 一个拉要求在GitIgnore解决这一问题已被接受,并在Visual Studio团队合作,将这个在未来的更新。这将确保对于新项目,.gitignore文件包括.jfm,并且不会发生此问题。
  • SSDT的核心团队正在努力在将来的更新中提供对此的解决方案,但目前最好的解决方案是按照注释中的讨论手动添加。

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


也感谢您最终为文件提供了一个真实的答案!
大胡子的骆驼

1
对公关很抱歉-我一直在内部跟进此问题,并遵循建议的步骤(包括进行公关)。我只在提交此帖子后才注意到该帖子引用了单独的PR,那时他们基本上已经接受了它!通过学习,可以更仔细地阅读StackOverflow帖子:-)顺便说一句,Technocore拥有此问题的先前答案,但由于某种原因已被删除。感谢您提出这个问题,对于给您带来的不便,我们深表歉意。我们对ESENT功能的更改感到惊讶,但仍在寻找适当的解决方法。
凯文·库纳内

不用担心,PR的内容并不是那么重要。不确定为什么将其删除;也许它没有答案所需的详细/准确。
胡须的骆驼

8
我只是遇到了这个错误,花了我半天的时间才弄清楚发生了什么。认真地,谁决定首先将dbmdl放在项目根目录中?它不应该在/ obj之类的东西中吗?我的意思是,有时为了保持SSDT正常运行,必须删除.dbmdl。当我解释说“ CLEAN”实际上并不删除此文件是因为它不在obj中时,它使我的团队感到困惑。现在,愚蠢的dbmdl将此jfm废话破坏了我数小时的工作效率。
Pxtl

1
仅供参考,这是最新的VS .gitgnore。我只是删除了旧版本,并让VS重新创建了旧版本,这为我的团队解决了问题。如果您在现有文件中有自定义条目,请小心。
加布

67

别人的收获是...

  • 添加*.jfm到您的.gitignore

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

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

1
此答案的答案是一百倍。清晰,简单且有效。顺便说一句,我前一阵子放弃了SSDT和sqlproj。而这类问题正是原因所在。现在,我依靠普通的旧sql脚本和自定义迁移。更加易于管理,减少头痛(您认为相反)。
pimbrouwers

1
如果您.gitignore可能不会以换行符结尾,请使用Add-Content .\.gitignore `r`n*.jfm以确保它以自己的行结尾。
代码间隔

git rm --cached * .jfm确实有所帮助。非常感谢你!
Valeriy Lyuchyn
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.