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

Visual studio 2015 Visual Studio 2015数据库项目目录包含扩展名为jfm的文件,visual-studio-2015,sql-server-data-tools,database-project,Visual Studio 2015,Sql Server Data Tools,Database Project,假设我们有一个名为MyDatabase的数据库项目,那么项目目录的根目录中将出现一个名为MyDatabase.jfm的文件 当项目在Visual Studio中打开时,它将以独占方式锁定 它是一个二进制文件 它最近才开始出现(过去几天) 我做过谷歌搜索,但没有提供任何见解。有一些参考一些旧软件,但大多数结果是垃圾邮件/特洛伊木马软件。我也进行了调查,但也没有产生任何结果 有人知道它是什么以及为什么在那里吗? 该计划是添加到,但我需要知道它是第一次提交的公关 更新 这将打破团队资源管理器更改视

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

  • 当项目在Visual Studio中打开时,它将以独占方式锁定
  • 它是一个二进制文件
  • 它最近才开始出现(过去几天)
我做过谷歌搜索,但没有提供任何见解。有一些参考一些旧软件,但大多数结果是垃圾邮件/特洛伊木马软件。我也进行了调查,但也没有产生任何结果

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

该计划是添加到,但我需要知道它是第一次提交的公关

更新

这将打破团队资源管理器更改视图。输出窗口中的以下内容未显示任何更改:


因此,我将把该文件添加到.gitignore文件中,然后。最终了解此文件是什么以及它来自何处将是一件好事…

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

注:

  • 在GitIgnore中修复此问题的方法已被接受,VisualStudio团队正在努力在将来的更新中包含此方法。这将确保对于新项目,.gitignore文件包含.jfm,并且不会出现问题
  • 核心SSDT团队正在努力在未来的更新中提供解决方案,但目前最好的解决方案是手动添加,如评论中所述

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

其他人的收获是

  • *.jfm
    添加到您的
    .gitignore
(在powershell中,
添加内容。\.gitignore*.jfm

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

我用周年更新更新了Windows 10,现在正在生成此文件。将*.jfm添加到.gitignore文件似乎可以解决此问题。我开玩笑说:您是否尝试卸载并重新安装?+1出现了根本没有显示任何更改的问题。通过gitbash从源代码管理中删除jfm文件,并将其添加到gitignore文件中,经过多次努力后解决了这个问题。必须关闭Visual Studio才能使git“git rm-rf”正常工作。。真是一场噩梦@Noobie3001也为我工作。将*.jfm添加到.gitignore,然后从远程git repo中删除.jfm,放弃本地更改并与远程同步。问题已解决。也感谢您最终提供了文件的真实答案!对不起公关-我一直在跟进这个问题,并遵循建议的步骤(包括做公关)。我只是在提交后才注意到,这篇文章引用了一个单独的PR,到那时他们基本上已经接受了!更仔细地阅读StackOverflow帖子的经验教训:-)顺便说一句,Technocore对这个问题有以前的答案,但由于某种原因被删除了。感谢您提出这个问题,并为给您带来的不便表示歉意-我们对ESENT功能的更改感到惊讶,并仍在寻求适当的修复。不用担心,伙计,公关方面的东西并没有那么重要。不知道为什么会被移除;也许答案不够详细/准确。我只是碰到了这个错误,花了半天时间才弄清楚到底发生了什么。说真的,谁决定首先将dbmdl放在项目根目录中?它不应该在/obj或其他什么地方吗?我的意思是,偶尔我不得不删除.dbmdl以保持SSDT工作。当我解释说“CLEAN”实际上并没有删除这个文件,因为它不在obj中,现在愚蠢的dbmdl已经用这个jfm废话破坏了我另外几个小时的工作效率。仅供参考,这是最新的VS.gitgnore版本。我刚刚删除了旧版本,让VS重新创建,这为我的团队解决了问题。如果你在现有文件中有自定义条目,请小心。这个答案是100次肯定。清晰、简单,而且有效。顺便说一句,我不久前放弃了SSDT和sqlproj。而这类问题正是原因所在。现在我依赖于普通的sql脚本和自定义迁移。更易管理,更少麻烦(你认为正好相反)。如果你的
.gitignore
可能不会以换行结束,请使用
添加内容。\.gitignore`r`n*.jfm
确保它以自己的行结束。git rm--cached*.jfm确实有帮助。非常感谢你!