假设我们有一个数据库项目叫MyDatabase然后有一个文件叫MyDatabase。JFM出现在项目目录的根目录中。

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

我做了谷歌搜索,没有提供任何见解。有一些引用到一些旧软件,但大多数结果是垃圾邮件/木马软件。我也研究过SO,但也没有任何结果。

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

计划是将它添加到Visual Studio的gitignore文件中,但我需要知道提交PR的第一步是什么…

更新

这现在打破了Team Explorer Changes视图。“输出”窗口中显示的如下内容没有任何变化:

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


当前回答

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

注:

在GitIgnore中修复这个问题的pull请求已经被接受,Visual Studio团队正在努力将其包含在未来的更新中。这将确保对于新项目,.gitignore文件包含.jfm,这样问题就不会发生 核心SSDT团队正在努力在未来的更新中提供解决方案,但目前最好的解决方案是手动添加,如评论中所述。

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

其他回答

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

注:

在GitIgnore中修复这个问题的pull请求已经被接受,Visual Studio团队正在努力将其包含在未来的更新中。这将确保对于新项目,.gitignore文件包含.jfm,这样问题就不会发生 核心SSDT团队正在努力在未来的更新中提供解决方案,但目前最好的解决方案是手动添加,如评论中所述。

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

从其他人那里得到的启示是……

添加*。JFM给你的。gitignore

(在powershell中,添加内容。当gitignore *)

你可能需要运行git rm——cached *.jfm