2012-01-03 14 views
11

हमारे पास एक SQL फ़ाइल है जो हमारे समाधान में एक एम्बेडेड संसाधन है। जब एसक्यूएल फ़ाइल बदलती है, और हम डिबग पर क्लिक करते हैं, तो समाधान किसी भी वास्तविक सी # कोड में बदलाव नहीं होने पर प्रोजेक्ट को एम्बेडेड संसाधन के साथ पुनर्निर्माण नहीं करता है।एम्बेडेड संसाधन पर बल दृश्य स्टूडियो पुनर्निर्माण

जब तक मुझे याद है, मुझे अन्य समाधानों के साथ यह समस्या हुई है, और मैं व्यक्तिगत रूप से यह सुनिश्चित करने के लिए बिल्ड समाधान करना जानता हूं ... लेकिन यह कई नए डेवलपर्स के लिए एक मुद्दा बन गया है जो ऐसा करने के लिए याद नहीं किया जा सकता है और जब SQL फ़ाइल में उनके परिवर्तन डीबग समय पर प्रतिबिंबित नहीं होते हैं तो भ्रमित हो जाते हैं ... इसलिए मैं सोच रहा था कि अगर कोई आसान फिक्स जानता है।

+0

बचाने क्या आप एसक्यूएल संसाधन के संबंध में एम्बेड कर रहे हैं ..? शायद यह मुद्दा हो सकता है .. क्या आप एक और विस्तृत स्पष्टीकरण दे सकते हैं ..? – MethodMan

+0

में 'एसक्यूएल फाइल' है जो एम्बेडेड संसाधन की तरह एक अनिवार्य विकल्प है? मेरा मतलब है, अगर यह एक अलग फाइल होगी, तो 'परियोजना गुण' के अंदर इसे परिभाषित करके, 'xcopy' के साथ सफल निर्माण पर उस फ़ाइल की प्रतिलिपि बनाने के लिए एक वर्कअराउंड है। – Tigran

+0

एम्बेडेड संसाधन आवश्यक है। यह माइग्रेशन स्क्रिप्ट चलाने के लिए एक इंस्टॉलर द्वारा उपयोग की जाने वाली एक कस्टम एक्शन असेंबली में पैक किया गया है। ऐप के डीबग मोड में एक ही असेंबली का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि वे जिस डीबी के खिलाफ चल रहे हैं, वह अद्यतित है। – Jeff

उत्तर

3

सबसे आसान फिक्स "बिल्ड" के बजाय "पुनर्निर्माण" करना है। अन्य लोग 100% सुनिश्चित होने के लिए "साफ" करेंगे और फिर "निर्माण" करेंगे।

एंबेडेड संसाधन डीबगिंग डीएलएल में अपडेट नहीं किए जाते हैं जब तक आउटपुट डीएलएल काटा नहीं जाता है, जिसे केवल पुनर्निर्माण और साफ करने के साथ ही गारंटी दी जा सकती है।

+1

पुनर्निर्माण को फिर साफ करने के लिए परिभाषित किया गया है; एक स्पष्ट साफ करने में कोई अतिरिक्त सुरक्षा नहीं है (शायद यह सुनिश्चित करने के अलावा कि आपने सही बटन/कुंजी-कॉम्बो दबाया है) –

0

दुर्भाग्यवश, एक स्वच्छ और पुनर्निर्माण हमेशा संसाधन फ़ाइलों के लिए काम नहीं करता प्रतीत होता है। मेरी समस्या का एक स्ट्रिंग संसाधन फ़ाइल के साथ था, और कैसे मैं VS2016 में इस प्रकार थी तय:

  1. बंद .resx और .Designer.cs अगर वे आईडीई
  2. हटाएँ .Designer.cs वर्ग में खुले हैं (राइट क्लिक करें, समाधान एक्सप्लोरर में हटाना)
  3. डबल क्लिक करें
  4. खोलने के लिए समाधान एक्सप्लोरर में फ़ाइल .resx यदि आवश्यक हो, परिवर्तन 'पहुँच संशोधक' 'लोक' से 'नो कोड जनरेशन' के लिए, और बचाने के
  5. बदलें 'नो कोड जनरेशन' से 'लोक' तक 'एक्सेस मॉडिफायर', और => सहेजें। डिज़ाइनर सीएस कोड तो
0

अद्यतन करना चाहिए, मैं VS2017 के साथ एक ही समस्या में भाग गया।

यह वही मेरे लिए काम किया है:

  1. ओपन .resx फ़ाइल। सुनिश्चित करें कि आप संसाधन संपादक में हैं, के बाद से कभी कभी काम पूरा हुआ बदलता है एक एक्सएमएल संपादक का उपयोग नहीं करते Designer.cs
  2. की पीढ़ी वहाँ ट्रिगर नहीं करेगा यकीन Designer.cs बनाओ खुला नहीं है बनाओ ।
  3. एक छोटा सा परिवर्तन करते हैं, को बचाने
  4. परिवर्तन वापस लाएं,
संबंधित मुद्दे