2016-06-08 7 views
191

Предполагая, что у нас есть проект базы данных под названием MyDatabase, тогда в корне каталога проекта появится файл с именем MyDatabase.jfm.Каталог Project Database Database Visual Studio 2015 содержит файл с расширением jfm

  • Это исключительно заблокированными, пока проект открыт в Visual Studio
  • Это бинарный файл
  • Он только начал появляться в последнее время (за последние пару дней)

Я сделал поиск Google, который не предложил никакого понимания. Есть некоторые ссылки на какое-то старое программное обеспечение, но большинство результатов - спам/троянская программа. Я также посмотрел в SO, но это тоже не принесло никаких результатов.

Кто-нибудь знает, что это такое и почему он там?

План, чтобы добавить его к gitignore file for Visual Studio, но мне нужно знать, что это первый представить PR ...

UPDATE

Это теперь нарушая команды изменения проводника Посмотреть. Там нет изменения, которые показаны со следующими из окна Output:

Screenshot of the error from the output tab

Как таковой я буду добавлять файл в файл .gitignore и submitting the PR. Было бы полезно в конечном итоге узнать, что это за файл и откуда оно взялось ...

+0

Я только что создал проект базы данных в VS 2015. It похоже, не существует, даже после компиляции проекта. –

+0

это было не для меня; он появился всего пару дней назад, как я сказал –

+1

Некоторые из моих решений имеют (корень решения) \. vs \ niuPlatform \ v14 \ vbcs.cache \ storage.jfm файл и имеют тот же размер (16384) и аналогичный контент. Потому что они находятся под vbcs.cache, поэтому я думаю, что они являются своего рода кешем, при необходимости могут быть восстановлены. И они не должны регистрироваться. – ChrisTorng

ответ

135

Это проблема, вызванная ESENT engine, на которую ссылается SQL Projects, добавляя в новый файл. Это новая функция в выпуске Windows 10 Anniversary Edition, чтобы избежать потери данных, но факт, что SQL-проекты хранят файл кэша .dbmdl в корне проекта, означает, что этот заблокированный файл добавляется в элемент управления Git.

Примечание:

  • pull request исправить это в GitIgnore было принято, и команда Visual Studio работает, чтобы включить это в будущих обновлениях. Это обеспечит, что для новых проектов файл .gitignore содержит .jfm, и проблема не возникнет
  • Основная команда SSDT работает над тем, чтобы обеспечить ее решение в будущем обновлении, но на данный момент лучшим решением является добавление вручную как обсуждалось в комментариях.

Раскрытие информации: Я работаю над командой SSDT для Microsoft.

+0

также благодарю вас за окончательный ответ на какой файл! –

+0

Ох и спасибо за кражу моего github PR; P –

+1

Извините, о PR - я внимательно следил за этой проблемой и следил за рекомендациями (включая PR).Я заметил только после того, как я представил, что это сообщение ссылается на отдельный PR, и к тому времени они в принципе приняли его! Урок научился читать сообщения StackOverflow более тщательно :-) Кстати, у Technocore был предыдущий ответ на этот вопрос, но он по какой-то причине был удален. Спасибо, что подняли эту проблему и принесли извинения за неудобства - мы были удивлены изменением функции ESENT и все еще надеемся на исправление. –

23

Вынос от других ...

  • Добавить *.jfm в свой .gitignore

(В PowerShell, Add-Content .\.gitignore *.jfm)

  • Вам может понадобиться запустить git rm --cached *.jfm
+0

Сто раз ДА на этот ответ. Ясный, простой, и это сработало. В стороне я отказался от SSDT и sqlproj некоторое время назад. И этот тип проблемы был именно поэтому. Теперь я полагаюсь на простые старые sql-скрипты и пользовательские миграции. Путь более управляемый и меньше головных болей (которые, по вашему мнению, будут противоположными). – pimbrouwers