Visual Studio 2015 डेटाबेस प्रोजेक्ट निर्देशिका में एक्सटेंशन jfm के साथ एक फ़ाइल है


242

मान लें कि हमारे पास एक डेटाबेस प्रोजेक्ट है, MyDatabaseतो MyDatabase.jfmप्रोजेक्ट डायरेक्टरी के रूट में एक फाइल दिखाई देती है।

  • विजुअल स्टूडियो में प्रोजेक्ट ओपन होने के दौरान इसे विशेष रूप से लॉक किया जाता है
  • यह एक बाइनरी फ़ाइल है
  • यह केवल हाल ही में दिखाई देने लगा है (पिछले कुछ दिनों में)

मैंने एक Google खोज की है, जिसने कोई जानकारी नहीं दी है। कुछ पुराने सॉफ़्टवेयर के कुछ संदर्भ हैं, लेकिन अधिकांश परिणाम स्पैम / ट्रोजनवेयर हैं। मैंने एसओ में भी देखा है, लेकिन उसने कोई परिणाम नहीं दिया है।

क्या किसी को पता है कि यह क्या है और यह क्यों है?

दृश्य स्टूडियो के लिए इसे gitignore फ़ाइल में जोड़ने की योजना है , लेकिन मुझे यह जानना होगा कि पीआर प्रस्तुत करने के लिए सबसे पहले क्या है ...

अपडेट करें

यह अब टीम एक्सप्लोरर परिवर्तन दृश्य को तोड़ रहा है। आउटपुट विंडो से निम्न के साथ कोई परिवर्तन नहीं दिखाए जा रहे हैं:

आउटपुट टैब से त्रुटि का स्क्रीनशॉट

जैसे कि मैं .gitignore फ़ाइल में फ़ाइल जोड़ रहा हूँ और PR सबमिट कर रहा हूँ । अंत में यह जानना अच्छा होगा कि यह फाइल क्या है और यह कहां से आई है ...


61
मैंने विंडोज 10 को एनिवर्सरी अपडेट के साथ अपडेट किया है और अब मैं इस फाइल को जेनरेट कर रहा हूं।
फेबियन विलर्स

16
* .Jfm को .gitignore फ़ाइल में जोड़ने से समस्या ठीक होती है।
फेबियन विलर्स

4
मुझे मज़ाक करना है: क्या आपने अनइंस्टॉल करने और रीइंस्टॉल करने की कोशिश की?
पोकी

3
+1 में वह मुद्दा था जहां कोई भी बदलाव नहीं दिखा रहा था। Gitbash के माध्यम से सोर्स कंट्रोल से jfm फाइल को डिलीट करना और इसे gitignore फाइल में जोड़ना काफी संघर्ष के बाद इश्यू को ठीक करता है। काम करने के लिए "git rm -rf" के लिए विजुअल स्टूडियो को बंद करना पड़ा .. क्या बुरा सपना!
Noobie3001

2
@ Noobie3001 ने मेरे लिए भी काम किया। * .Jfm से .gitignore में जोड़ें, दूरस्थ git रेपो से .jfm को हटा दें, स्थानीय परिवर्तनों को हटा दें और रिमोट के साथ सिंक करें। मुद्दा तय हुआ।
इवान जी।

जवाबों:


187

यह एक समस्या है जिसका कारण SQL प्रोजेक्ट द्वारा एक नई फ़ाइल में जोड़ना ESENT इंजन है । डेटा हानि से बचने के लिए विंडोज 10 एनिवर्सरी एडिशन में यह एक नई सुविधा है, लेकिन तथ्य यह है कि प्रोजेक्ट प्रोजेक्ट रूट के तहत .dbmdl कैश फ़ाइल को संग्रहीत करता है। इसका अर्थ है कि यह लॉक की गई फ़ाइल Git स्रोत नियंत्रण में जोड़ी गई है।

टिप्पणियाँ:

  • GitIgnore में इसे ठीक करने का एक पुल अनुरोध स्वीकार कर लिया गया है और विज़ुअल स्टूडियो टीम इसे भविष्य के अपडेट में शामिल करने के लिए काम कर रही है। यह सुनिश्चित करेगा कि नई परियोजनाओं के लिए .gitignore फ़ाइल में .jfm और समस्या शामिल नहीं होगी
  • भविष्य के अपडेट में कोर SSDT टीम इसका समाधान प्रदान करने के लिए काम कर रही है, लेकिन अब सबसे अच्छा समाधान टिप्पणियों में चर्चा के रूप में मैन्युअल रूप से जोड़ना है।

प्रकटीकरण : मैं Microsoft के लिए SSDT टीम पर काम करता हूं।


अंत में फ़ाइल क्या है के लिए एक वास्तविक जवाब प्रदान करने के लिए धन्यवाद!
दाढ़ी वाले लामा

1
पीआर के बारे में क्षमा करें - मैं इस मुद्दे पर आंतरिक रूप से अनुसरण कर रहा था और अनुशंसित चरणों (पीआर करने सहित) का पालन कर रहा था। मैंने केवल यह देखने के बाद कि मैंने यह पोस्ट एक अलग पीआर का संदर्भ दिया है और तब तक वे मूल रूप से इसे स्वीकार कर लेंगे! पाठ ने StackOverflow पोस्ट्स को अधिक ध्यान से पढ़ना सीखा :-) वैसे, टेक्नोकोर के पास इस प्रश्न का पिछला उत्तर था लेकिन इसे किसी कारण से हटा दिया गया। इस मुद्दे को उठाने के लिए धन्यवाद और असुविधा के लिए क्षमायाचना - हमें ESENT सुविधा परिवर्तन द्वारा आश्चर्यचकित किया गया था और अभी भी ठीक से देखने के लिए।
केविन कुन्नाने

कोई चिंता नहीं दोस्त, पीआर सामान वास्तव में महत्वपूर्ण नहीं था। निश्चित नहीं है कि इसे क्यों हटाया गया; शायद यह उतना विस्तृत / सटीक नहीं था जितना किसी उत्तर के लिए होना चाहिए।
दाढ़ी वाले ललाम

8
मैंने अभी इस बग को मारा और मुझे यह जानने में आधा दिन लग गया कि क्या हो रहा है। गंभीरता से, किसने पहली बार में प्रोजेक्ट रूट में dbmdl डालने का फैसला किया? यह / obj या कुछ और में नहीं होना चाहिए? मेरा मतलब है, कभी-कभी मुझे SSDT को काम करने के लिए .dbmdl को हटाना पड़ता है। इसने मेरी टीम को नरक से बाहर कर दिया जब मैंने समझाया कि "CLEAN" वास्तव में इस फ़ाइल को नहीं हटाता है क्योंकि यह obj में नहीं है, और अब मूर्ख dbmdl ने इस jfm बकवास के साथ मेरी उत्पादकता के कुछ और घंटों को नष्ट कर दिया है।
Pxtl

1
FYI करें यह अब नवीनतम VS .gngnore में है। मैंने अभी पुराने को हटा दिया है और वीएस ने इसे फिर से बनाया है और इससे मेरी टीम के लिए समस्या हल हो गई है। यदि आपकी मौजूदा फ़ाइल में कस्टम प्रविष्टियाँ हैं तो बस सावधान रहें।
गाबे

67

दूसरों से लेने वाला है ...

  • *.jfmअपने में जोड़ें.gitignore

(अधिकार में, Add-Content .\.gitignore *.jfm)

  • आपको दौड़ना पड़ सकता है git rm --cached *.jfm

1
इस उत्तर के लिए एक सौ बार YES। स्पष्ट, सरल और यह काम किया। एक तरफ के रूप में, मैं थोड़ी देर पहले SSDT और sqlproj पर छोड़ दिया। और इस प्रकार की समस्या ठीक यही थी। अब मैं सादे पुरानी एसक्यूएल स्क्रिप्ट और कस्टम माइग्रेशन पर भरोसा करता हूं। रास्ता अधिक प्रबंधनीय और कम सिरदर्द (जो आपको लगता है कि विपरीत होगा)।
pimbrouwers

1
यदि यह सुनिश्चित .gitignoreकरने के Add-Content .\.gitignore `r`n*.jfmलिए कि यह अपनी लाइन पर समाप्त नहीं होता है, तो एक नई लाइन के उपयोग के साथ समाप्त नहीं हो सकता है ।
Codespaced

git rm - cached * .jfm ने वास्तव में मदद की। आपका बहुत बहुत धन्यवाद!
वलेरी लियुचिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.