Visual Studio 2015 Veritabanı Projesi dizini jfm uzantılı bir dosya içeriyor


242

Adında bir veritabanı projemiz olduğunu varsayarsak , proje dizininin kökünde MyDatabaseadlı bir dosya MyDatabase.jfmgörünür.

  • Proje Visual Studio'da açıkken özel olarak kilitlenir
  • Bu bir ikili dosyadır
  • Sadece son zamanlarda görünmeye başladı (son birkaç gün içinde)

Herhangi bir öneri sunmayan bir Google araması yaptım. Bazı eski yazılımlara bazı referanslar vardır, ancak sonuçların çoğu spam / trojanware'dir. Ben de SO baktım, ama bu da herhangi bir sonuç üretmedi.

Ne olduğunu ve neden orada olduğunu bilen var mı?

Plan, Visual Studio için gitignore dosyasına eklemek , ancak PR göndermek için ilk ne olduğunu bilmeliyim ...

GÜNCELLEME

Bu, Team Explorer Değişiklikleri görünümünü kırıyor. Çıktı penceresinde aşağıdakilerle ilgili hiçbir değişiklik gösterilmiyor:

Çıktı sekmesinden hatanın ekran görüntüsü

Bu nedenle dosyayı .gitignore dosyasına ekleyecek ve halkla ilişkiler gönderecek . Sonunda bu dosyanın ne olduğunu ve nereden geldiğini öğrenmek iyi olur ...


61
Windows 10'u yıldönümü güncellemesiyle güncelledim ve şimdi bu dosya oluşturuluyor.
Fabian Vilers

16
.Gitignore dosyasına * .jfm eklemek sorunu çözüyor gibi görünüyor.
Fabian Vilers

4
Şaka yapmam gerekiyor: Kaldırmayı ve yeniden yüklemeyi denediniz mi?
pookie

3
+1 Hiç değişiklik göstermediği bir sorun vardı. Jfm dosyasını gitbash aracılığıyla kaynak denetiminden silmek ve gitignore dosyasına eklemek, çok uğraştıktan sonra sorunu çözdü. Git "git rm -rf" çalışmak için Visual Studio kapatmak zorunda kaldı .. Ne kabus!
Noobie3001

2
@ Noobie3001 de benim için çalıştı. .Gitignore'a * .jfm ekleyin, uzak git repo'dan .jfm'yi silin, yerel değişiklikleri atın ve uzaktan kumandayla senkronize edin. Sorun düzeltildi.
Ivan G.

Yanıtlar:


187

Bu, ESENT motorunun SQL Projects tarafından yeni bir dosyaya eklenmesi nedeniyle ortaya çıkan bir sorundur . Bu, veri kaybını önlemek için Windows 10 Anniversary Edition'daki yeni bir özelliktir, ancak SQL Projelerinin .dbmdl önbellek dosyasını proje kökü altında saklaması, bu kilitli dosyanın Git kaynak denetimine eklendiği anlamına gelir.

Notlar:

  • GitIgnore'da bunu düzeltmek için bir çekme isteği kabul edildi ve Visual Studio ekibi bunu gelecekteki güncellemelere dahil etmek için çalışıyor. Bu, yeni projeler için .gitignore dosyasının .jfm içermesini ve sorunun oluşmamasını sağlar.
  • Çekirdek SSDT ekibi gelecekteki bir güncellemede buna bir çözüm sunmak için çalışıyor, ancak şimdilik en iyi çözüm yorumlarda tartışıldığı gibi manuel olarak eklemektir.

Açıklama : Microsoft için SSDT ekibinde çalışıyorum.


ayrıca nihayet dosyaya gerçek bir cevap verdiğiniz için teşekkür ederiz!
Sakallı Lama

1
PR için özür dilerim - Bu konuyu dahili olarak takip ediyordum ve önerilen adımları izledim (PR yapmak dahil). Ben sadece bu yazı ayrı bir PR başvuru ve sonra o zaman temelde kabul ediyorum gönderdikten sonra fark ettim! Ders StackOverflow yayınlarını daha dikkatli okumayı öğrendi :-) Bu arada, Technocore bu soruya daha önce cevap verdi, ancak bir nedenden dolayı silindi. Bu sorunu dile getirdiğiniz için teşekkür ederiz ve rahatsızlıktan dolayı özür dileriz - ESENT özellik değişikliği bizi şaşırttı ve hala düzgün bir şekilde düzeltmeye çalışıyoruz.
Kevin Cunnane

Endişeye gerek yok dostum, PR şeyleri o kadar da önemli değildi. Neden kaldırıldığından emin değil; belki de bir cevap için olması gerektiği kadar detaylı / doğru değildi.
Sakallı Lama

8
Bu hataya çarptım ve neler olup bittiğini anlaması yarım günümü aldı. Cidden, dbmdl'yi proje köküne ilk etapta koymaya kim karar verdi? / Obj veya başka bir şey olmamalı mı? Yani, bazen SSDT'nin çalışmaya devam etmesi için .dbmdl dosyasını silmem gerekiyor. "CLEAN" in aslında bu dosyayı silmediğini açıkladığımda ekibimin cehennemi karıştırdı ve aptal dbmdl bu jfm saçmalığıyla üretkenliğimin birkaç saatini daha yok etti.
Pxtl

1
Bu son VS .gitgnore şimdi FYI. Sadece eskisini sildim ve VS'yi yeniden oluşturdum ve bu da ekibim için sorunu çözdü. Mevcut dosyanızda özel girişleriniz varsa dikkatli olun.
Gabe

67

Diğerlerinden paket servisi olan restoran ...

  • Ekle *.jfmiçin senin.gitignore

(Powershell'de Add-Content .\.gitignore *.jfm)

  • Koşmanız gerekebilir git rm --cached *.jfm

1
Bu cevaba yüz kere EVET. Açık, basit ve işe yaradı. Bir yana SSDT ve sqlproj'dan bir süre önce vazgeçtim. Ve bu tür bir sorun tam olarak nedeniydi. Şimdi sade eski sql komut dosyalarına ve özel geçişlere güveniyorum. Çok daha yönetilebilir ve daha az baş ağrısı (bunun tersi olacağını düşünüyorsunuz).
pimbrouwers

1
Eğer .gitignorebir satırsonu ile bitmiyor olabilir Add-Content .\.gitignore `r`n*.jfmkendi satırında sona erdiğinden emin olmak için kullanın .
Kodlu

git rm --cached * .jfm gerçekten yardımcı oldu. Çok teşekkür ederim!
Valeriy Lyuchyn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.