Каталог проектів баз даних Visual Studio 2015 містить файл із розширенням jfm


242

Якщо припустити, що у нас є проект бази даних, який називається, MyDatabaseтоді в MyDatabase.jfmкорені каталогу проекту з’являється названий файл .

  • Він виключно заблокований, поки проект відкритий у Visual Studio
  • Це двійковий файл
  • Він з’явився лише нещодавно (останні кілька днів)

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

Хтось знає, що це таке і чому саме там?

План полягає в тому, щоб додати його до файлу gitignore для Visual Studio , але мені потрібно знати, що спочатку потрібно надіслати PR ...

ОНОВЛЕННЯ

Тепер це порушує подання Програми Team Explorer Changes. У вікні виводу не відображаються зміни:

Скріншот помилки на вкладці виводу

Я буду додавати файл у файл .gitignore та подавати PR . Було б добре зрештою дізнатися, що це за файл і звідки він узявся ...


61
Я оновив Windows 10 з ювілейним оновленням і тепер цей файл генерується.
Фабіан Віллерз

16
Додавання * .jfm до файлу .gitignore, здається, вирішує проблему.
Фабіан Віллерз

4
Мушу пожартувати: Ви спробували видалити та перевстановити?
pookie

3
+1 Була проблема, коли зміни взагалі не відображалися. Видалення файлу jfm з керування джерелом через gitbash та додавання його до файлу gitignore виправили проблему після великої боротьби. Довелося закрити Visual Studio для роботи git "git rm -rf" .. Який кошмар!
Noobie3001

2
@ Noobie3001 працював і для мене. Додайте * .jfm до .gitignore, не видаліть .jfm з віддаленого git repo, відмініть локальні зміни та синхронізуйте з віддаленим. Виправлення виправлено.
Іван Григорович

Відповіді:


187

Це проблема, викликана двигуном ESENT, на який посилаються SQL Projects, додаючи новий файл. Це нова функція в Windows 10 Anniversary Edition, щоб уникнути втрати даних, але факт, що SQL Projects зберігає файл кешу .dbmdl під корінь проекту, означає, що цей заблокований файл додається до керування джерелом Git.

Примітки:

  • Запит на витяг, щоб виправити це в GitIgnore, прийнято, і команда Visual Studio працює над тим, щоб включити це у майбутні оновлення. Це забезпечить, що для нових проектів файл .gitignore включає .jfm і проблема не виникне
  • Основна команда SSDT працює над тим, щоб знайти рішення для цього в майбутньому оновлення, але поки що найкращим рішенням є додавання вручну, як обговорювалося в коментарях.

Розкриття інформації : Я працюю над командою SSDT для Microsoft.


також дякую, що нарешті ви дали реальну відповідь на те, що таке файл!
The Bearded Llama

1
Вибачте за PR - я все ще відповідав за цим питанням і дотримувався рекомендованих кроків (включаючи проведення PR). Я помітив лише після того, як я подав, що цей пост посилався на окремий піар, і до того часу вони його прийняли! Урок навчився уважніше читати публікації StackOverflow :-) До речі, Technocore отримав попередню відповідь на це питання, але його чомусь видалили. Дякуємо за те, що порушили цю проблему та вибачились за незручності - нас здивувало зміна функції ESENT і ми все ще прагнемо правильно виправити.
Кевін Куннане

Не хвилюйтесь, товариш, піар не дуже важливий. Не впевнений, чому його видалили; можливо, це було не так детально / точно, як потрібно було для відповіді.
The Bearded Llama

8
Я просто потрапив на цю помилку, і мені знадобилося півдня, щоб зрозуміти, що відбувається. Серйозно, хто вирішив поставити dbmdl в корінь проекту на перше місце? Не повинно бути в / obj чи щось таке? Я маю на увазі, час від часу мені доводиться видаляти .dbmdl, щоб SSDT працював. Це збентежило мою команду, коли я пояснив, що "CLEAN" насправді не видаляє цей файл, оскільки його немає в obj, і тепер дурний dbmdl знищив ще кілька годин моєї продуктивності за допомогою цієї jfm дурниці.
Pxtl

1
FYI - це остання версія VS .gitgnore зараз. Я просто видалив старий і мав VS відтворити його, і це вирішило проблему для моєї команди. Будьте обережні, якщо у вашому наявному файлі є спеціальні записи.
Гейб

67

Витяг у інших - це ...

  • Додайте *.jfmдо свого.gitignore

(В повному обсязі, 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 справді допоміг. Велике спасибі!
Валерій Лючин
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.