visual-studio - visual studio 2015 free download




विजुअल स्टूडियो 2010 हमेशा सोचता है कि परियोजना पुरानी है, लेकिन कुछ भी नहीं बदला है (18)

here वर्णित एक जैसी ही समस्या here

मैंने विजुअल स्टूडियो 2008 से विजुअल स्टूडियो 2010 तक सी ++ / सीएलआई और सी # परियोजनाओं के मिश्रित समाधान को अपग्रेड किया। और अब विजुअल स्टूडियो 2010 में एक सी ++ / सीएलआई प्रोजेक्ट हमेशा पुराना हो जाता है।

भले ही इसे संकलित और लिंक किया गया हो और F5 हिट हो, फिर भी संदेशबॉक्स "प्रोजेक्ट पुराना है। क्या आप इसे बनाना चाहते हैं?" प्रकट होता है। यह बहुत परेशान है क्योंकि डीएलएल फ़ाइल बहुत कम है और पुनर्निर्माण के समाधान की लगभग सभी परियोजनाओं को मजबूर करती है।

मेरी पीडीबी सेटिंग्स डिफ़ॉल्ट मान ( here ) पर सेट हैं।

क्या यह संभव है कि विजुअल स्टूडियो 2010 एक पुनर्निर्माण को मजबूर करता है या सोचता है कि एक परियोजना अद्यतित है?

कोई अन्य विचार क्यों विजुअल स्टूडियो 2010 ऐसा व्यवहार करता है?


.NET परियोजनाओं को हमेशा परवाह किए बिना हमेशा संकलित किया जाता है। इसका हिस्सा आईडीई को अद्यतित रखना है (जैसे इंटेलिसेन्स)। मुझे याद है कि इस सवाल को कई साल पहले माइक्रोसॉफ्ट फोरम पर पूछना था, और यही वह जवाब था जो मुझे दिया गया था।


अधिकतर बिल्ड सिस्टम सिस्टम टाइम स्टैंप का उपयोग यह निर्धारित करने के लिए करते हैं कि पुनर्निर्माण कब किया जाना चाहिए - निर्भरता के अंतिम संशोधित समय के विरुद्ध किसी भी आउटपुट फ़ाइलों की दिनांक / समय स्टैंप की जांच की जाती है - यदि निर्भरता में से कोई भी ताजा है, तो लक्ष्य पुनर्निर्मित किया जाता है।

इससे किसी भी निर्भरता को किसी भी तरह से अमान्य डेटा टाइम स्टैम्प प्राप्त होने पर समस्याएं पैदा हो सकती हैं क्योंकि भविष्य में बनाए गए फ़ाइल के टाइमस्टैम्प से अधिक होने के लिए किसी भी बिल्ड आउटपुट के टाइम स्टैंप के लिए मुश्किल है: पी


मुझे एक ही समस्या थी और लापता फाइलों का पता लगाने के लिए उपरोक्त निर्देशों (स्वीकृत उत्तर) का पालन किया, लेकिन मेरे सिर को खरोंच किए बिना नहीं। मैंने जो किया उसके बारे में मेरा सारांश यहां दिया गया है। सटीक होने के लिए इन्हें फाइलों को याद नहीं किया जा रहा है क्योंकि उन्हें परियोजना (कम से कम मेरे मामले में) बनाने की आवश्यकता नहीं है, लेकिन वे उन फ़ाइलों के संदर्भ हैं जो डिस्क पर मौजूद नहीं हैं जो वास्तव में आवश्यक नहीं हैं।

मेरी कहानी यहाँ है:

  1. विंडोज 7 के तहत फ़ाइल %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\% । दो समान फाइलें हैं devenv.exe.config.config और devenv.exe.config । आप बाद में बदलना चाहते हैं।

  2. विंडोज 7 के तहत, आपको इस फाइल को प्रोग्राम फाइलों में संपादित करने की अनुमति नहीं है। बस इसे कहीं और कॉपी करें (डेस्कटॉप) इसे बदलें और प्रोग्राम फ़ाइलों के स्थान पर वापस कॉपी करें।

  3. मैं यह पता लगाने की कोशिश कर रहा था कि लापता फाइलों को देखने के लिए DebugView को कैसे कनेक्ट किया DebugView । खैर, आपको कुछ भी करने की ज़रूरत नहीं है। बस इसे चलाएं, और यह सभी संदेशों को कैप्चर करेगा। सुनिश्चित करें कि Capture Events मेनू विकल्प Capture मेनू में चुना गया है जिसे डिफ़ॉल्ट रूप से चुना जाना चाहिए।

  4. DebugView सभी लापता फ़ाइलों को एक बार में प्रदर्शित नहीं करेगा (कम से कम यह मेरे लिए नहीं था)! आपके पास डीबग व्यू चल रहा है और विजुअल स्टूडियो 2010 में प्रोजेक्ट को चलाने से पहले। यह project out of date संदेश से project out of date देगा, बिल्ड करने के लिए हाँ का चयन करें और डीबग व्यू पहली फाइल दिखाएगा जो लापता है या पुनर्निर्माण का कारण बनता है। नोटपैड में प्रोजेक्ट फ़ाइल (समाधान फ़ाइल नहीं) खोलें और उस फ़ाइल की खोज करें और इसे हटाएं। आप अपनी परियोजना को बंद करने और इसे हटाने के दौरान इसे दोबारा खोलने से बेहतर हैं। इस प्रक्रिया को तब तक दोहराएं जब तक कि डीबग व्यू अब किसी भी फाइल को गायब न दिखाए।

  5. संदेश फ़िल्टर को डीबग व्यू टूलबार बटन से अद्यतित करने या → फ़िल्टर / हाइलाइट विकल्प संपादित करने के लिए बहुत उपयोगी है। इस तरह से प्रदर्शित होने वाले एकमात्र संदेश वह हैं जिनके पास 'अद्यतित नहीं है' स्ट्रिंग है।

मेरे पास बहुत सी फाइलें थीं जो अनावश्यक संदर्भ थे और उपर्युक्त चरणों के बाद सभी को हल कर दिया गया था।

एक ही समय में सभी गायब फ़ाइलों को खोजने का दूसरा तरीका

इन फ़ाइलों को एक बार में खोजने का दूसरा तरीका है, लेकिन इसमें (ए) स्रोत नियंत्रण और (बी) विजुअल स्टूडियो 2010 के साथ इसका एकीकरण शामिल है। विजुअल स्टूडियो 2010 का उपयोग करके , अपनी परियोजना को वांछित स्थान या स्रोत में डमी स्थान पर जोड़ें नियंत्रण। यह उन सभी फ़ाइलों को जोड़ने का प्रयास करेगा, जिनमें डिस्क पर मौजूद नहीं है, लेकिन प्रोजेक्ट फ़ाइल में संदर्भित है। अपने स्रोत नियंत्रण सॉफ़्टवेयर पर जाएं जैसे कि Perforce , और इन फ़ाइलों को चिह्नित करना चाहिए जो एक अलग रंग योजना में डिस्क पर मौजूद नहीं हैं। पर्सफोर्स उन्हें उन पर एक ब्लैक लॉक दिखाता है। ये आपके गायब संदर्भ हैं। अब आपके पास उन सभी की एक सूची है, और आप नोटपैड का उपयोग करके अपनी प्रोजेक्ट फ़ाइल से उन सभी को हटा सकते हैं और आपकी परियोजना पुराने होने के बारे में शिकायत नहीं करेगी।


मुझे एक ही समस्या थी, लेकिन मेरे मामले में कोई फाइल गायब नहीं थी, पीडीबी आउटपुट फ़ाइल को कैसे परिभाषित किया गया था में एक त्रुटि हुई: मैं प्रत्यय भूल गया .pdb (मुझे डीबग लॉगिंग चाल के साथ पता चला)।

समस्या को हल करने के लिए मैंने vxproj फ़ाइल में, निम्न पंक्ति को बदल दिया:

<ProgramDataBaseFileName>MyName</ProgramDataBaseFileName>

सेवा मेरे

<ProgramDataBaseFileName>MyName.pdb</ProgramDataBaseFileName>

मुझे यह समस्या थी और यह पाया:

http://curlybrace.blogspot.com/2005/11/visual-c-project-continually-out-of.html

विज़ुअल सी ++ प्रोजेक्ट निरंतर पुराना है ( winwlm.h macwin32.h rpcerr.h macname1.h गायब)

मुसीबत:

विजुअल सी ++ .NET 2003 में, मेरी परियोजनाओं में से एक हमेशा से बाहर होने का दावा करती है, भले ही कुछ भी नहीं बदला गया था और अंतिम निर्माण में कोई त्रुटि नहीं मिली थी।

इसी परियोजना के लिए BuildLog.htm फ़ाइल खोलने से इन फ़ाइलों के लिए PRJ0041 त्रुटियों की एक सूची दिखाई दी, जिनमें से कोई भी मेरे सिस्टम पर कहीं भी दिखाई नहीं देता है: winwlm.h macwin32.h rpcerr.h macname1.h

प्रत्येक त्रुटि इस तरह कुछ दिखती है:

  MyApplication : warning PRJ0041 : Cannot find missing dependency 'macwin32.h' for file 'MyApplication.rc'.  

आपकी प्रोजेक्ट अभी भी बना सकती है, लेकिन यह फ़ाइल तब तक दिखाई दे सकती है जब तक कि यह फ़ाइल नहीं मिल जाती।

उपाय:

प्रोजेक्ट की .rc फ़ाइल के अंदर resource.h बजाय afxres.h शामिल करें।

प्रोजेक्ट की। आरसी फाइल में "# शामिल संसाधन एच।" है। चूंकि संसाधन कंपाइलर प्रीप्रोसेसर #ifdef ब्लॉक का सम्मान नहीं करता है, इसलिए यह उन फ़ाइलों को शामिल करने के लिए फाड़ जाएगा और उन्हें अनदेखा करना चाहिए। Windows.h में ऐसे कई ब्लॉक हैं। Afxres.h सहित इसके बजाय PRJ0041 चेतावनियों को ठीक किया गया और "परियोजना पुरानी है" त्रुटि संवाद को समाप्त कर दिया।


मुझे विजुअल स्टूडियो 2005 के साथ एक ही समस्या थी, और मेरे समाधान में निम्नलिखित निर्भरता में पांच परियोजनाएं शामिल थीं (पहले शीर्ष पर निर्मित):

Video_Codec depends on nothing
Generic_Graphics depends on Video_Codec
SpecificAPI_Graphics depends on Generic_Graphics
Engine depends on Specific_Graphics
Application depends on Engine.

मुझे लगता है कि वीडियो_Codec प्रोजेक्ट एक पूर्ण साफ होने के बाद भी समाधान का पुनर्निर्माण करने के बाद एक पूर्ण निर्माण चाहता था।

मैंने इसे सी / सी ++ और पीडीबी दोनों की pdb आउटपुट फ़ाइल सुनिश्चित करने के द्वारा तय किया है जो अन्य कामकाजी परियोजनाओं द्वारा उपयोग किए गए स्थान से मेल खाता है। मैंने आरटीटीआई को भी चालू कर दिया।


मेरे मामले में परियोजनाओं में से एक में कई आईडीएल फाइलें हैं। एमआईडीएल कंपाइलर आईडीएल फ़ाइल नाम के बावजूद उनमें से प्रत्येक के लिए 'dlldata.c' नामक एक डीएलएल डेटा फ़ाइल उत्पन्न करता है। इसने विजुअल स्टूडियो को प्रत्येक बिल्ड पर आईडीएल फाइलों को संकलित करने के लिए प्रेरित किया, यहां तक ​​कि किसी भी आईडीएल फाइलों में बदलाव किए बिना।

वर्कअराउंड प्रत्येक आईडीएल फ़ाइल के लिए एक अद्वितीय आउटपुट फ़ाइल को कॉन्फ़िगर करना है (MIDL कंपाइलर हमेशा ऐसी फ़ाइल उत्पन्न करता है, भले ही / dlldata स्विच छोड़ा गया हो):

  • आईडीएल फ़ाइल पर राइट-क्लिक करें
  • गुण चुनें - एमआईडीएल - आउटपुट
  • DllData फ़ाइल प्रॉपर्टी के लिए एक अनन्य फ़ाइल नाम दर्ज करें

मेरे लिए यह परियोजना के अंदर "शीर्षलेख फ़ाइलें" पर एक गैर-मौजूदा शीर्षलेख फ़ाइल की उपस्थिति थी। इस प्रविष्टि को हटाने के बाद (राइट-क्लिक> प्रोजेक्ट से बाहर निकलें) पहली बार फिर से संकलित, फिर सीधे

========== बिल्ड: 0 सफल हुआ, 0 विफल, 5 अप-टू-डेट, 0 छोड़ा गया ==========

और संशोधन के बिना पुनर्निर्माण का कोई प्रयास नहीं किया गया था। मुझे लगता है कि वीएस -2010 द्वारा लागू एक चेक-प्री-बिल्ड है (सुनिश्चित नहीं है कि दस्तावेज हो सकता है, हो सकता है) जो "AlwaysCreate" ध्वज को ट्रिगर करता है।


मैं आज इस समस्या से मुलाकात की, हालांकि यह थोड़ा अलग था। मेरे समाधान में मेरे पास एक सीयूडीए डीएलएल परियोजना थी। एक स्वच्छ समाधान में संकलन ठीक था, लेकिन अन्यथा यह असफल रहा और संकलक हमेशा सीयूडीए डीएलएल परियोजना का इलाज नहीं करता था।

मैंने इस पोस्ट से समाधान की कोशिश की।

लेकिन मेरे समाधान में कोई अनुपलब्ध हेडर फ़ाइल नहीं है। तब मुझे अपने मामले में कारण पता चला।

मैंने परियोजना की इंटरमीडिएट निर्देशिका को पहले बदल दिया है, हालांकि इससे परेशानी नहीं हुई है। और अब जब मैंने CUDA DLL प्रोजेक्ट की इंटरमीडिएट निर्देशिका को $ (कॉन्फ़िगरेशन) में बदल दिया है, तो सब कुछ ठीक से काम करता है।

मुझे लगता है कि CUDA बिल्ड अनुकूलन और गैर-डिफ़ॉल्ट इंटरमीडिएट निर्देशिका के बीच कुछ मामूली समस्या है।


मैं विजुअल स्टूडियो 2013 प्रोफेशनल का उपयोग 4 अपडेट के साथ कर रहा हूं लेकिन किसी भी अन्य सुझाव के साथ संकल्प नहीं मिला, हालांकि, मैंने अपनी टीम प्रोजेक्ट के लिए इस मुद्दे को हल करने का प्रबंधन किया था।

समस्या का कारण बनने के लिए मैंने यहां क्या किया है -

  • एक नई कक्षा वस्तु बनाई गई (परियोजना -> कक्षा जोड़ें)
  • समाधान एक्सप्लोरर के माध्यम से फ़ाइल का नाम बदल दिया और पूछा कि क्या मैं मिलान के सभी संदर्भों का स्वचालित रूप से नाम बदलना चाहता हूं

समस्या को हल करने के लिए मैंने यहां क्या किया है -

  • टीम एक्सप्लोरर होम पर जाएं
  • स्रोत नियंत्रण एक्सप्लोरर पर क्लिक करें
  • फ़ोल्डर में ड्रिल करें जहां सभी वर्ग / परियोजना फाइलें हैं
  • सूची में मूल फ़ाइल नाम मिला और राइट-क्लिक के माध्यम से इसे हटा दिया
  • निर्माण

यदि यह आपके लिए मामला है तो बस अतिरिक्त सुनिश्चित करें कि आप प्रोजेक्ट में रखने वाले वास्तविक व्यक्ति की बजाय प्रेत फ़ाइल को हटा रहे हैं।


मैंने समाधान (और डिस्क से) से एक सीपीपी और कुछ शीर्षलेख फ़ाइलों को हटा दिया है लेकिन अभी भी समस्या थी।

बात यह है कि, प्रत्येक फ़ाइल संकलक का उपयोग आपकी temp निर्देशिका में * .tlog फ़ाइल में जाता है। जब आप कोई फ़ाइल हटाते हैं, तो यह * .log फ़ाइल अपडेट नहीं होती है। आपकी परियोजना अद्यतित है या नहीं, यह जांचने के लिए वृद्धिशील बिल्ड द्वारा उपयोग की जाने वाली फ़ाइल है।

या तो इस .tlog फ़ाइल को मैन्युअल रूप से संपादित करें या अपनी प्रोजेक्ट को साफ करें और पुनर्निर्माण करें।


यदि आप कमांड लाइन MSBuild कमांड (विजुअल स्टूडियो आईडीई नहीं) का उपयोग कर रहे हैं, उदाहरण के लिए यदि आप AppVeyor को लक्षित कर रहे हैं या आप केवल कमांड लाइन पसंद करते हैं, तो आप इस विकल्प को अपने MSBuild कमांड लाइन में जोड़ सकते हैं:

/fileLoggerParameters:LogFile=MyLog.log;Append;Verbosity=diagnostic;Encoding=UTF-8

here दस्तावेज के रूप में (चेतावनी: सामान्य एमएसडीएन verbosity)। जब निर्माण समाप्त होता है, तो स्ट्रिंग के लिए खोज बिल्ड, MyLog.log के दौरान बनाई गई लॉग फ़ाइल में will be compiled MyLog.log


यह आज मेरे साथ हुआ। मैं कारण को ट्रैक करने में सक्षम था: प्रोजेक्ट में हेडर फ़ाइल शामिल थी जो अब डिस्क पर मौजूद नहीं थी।

परियोजना से फाइल को हटाने से समस्या हल हो गई।


यह मेरे साथ कई बार हुआ और फिर मुझे पता चला कि इससे पहले कि मैं क्यों समझ सकूं। मेरे मामले में यह था:

दोहरी बूट सेटअप में गलत सिस्टम समय!

बाहर निकलता है, उबंटू के साथ मेरा दोहरी बूट मूल कारण था !! मैं अपने हार्डवेयर घड़ी के साथ गड़बड़ करना बंद करने के लिए उबंटू को ठीक करने के लिए बहुत आलसी रहा हूं। जब मैं उबंटू में लॉग इन करता हूं, तो समय 5 घंटे आगे बढ़ता है।

बुरी किस्मत से, मैंने एक बार परियोजना को गलत सिस्टम समय के साथ बनाया, फिर उस समय को सही किया। नतीजतन, सभी बिल्ड फाइलों में गलत टाइमस्टैम्प था, और वीएस सोचता था कि वे सभी पुराने हैं और परियोजना का पुनर्निर्माण करेंगे।


विजुअल स्टूडियो 2013 - "पीडीबी गायब होने के कारण सभी स्रोत फ़ाइलों का पुनर्मूल्यांकन मजबूर करना"। मैंने समस्या का पता लगाने के लिए विस्तृत निर्माण आउटपुट चालू कर दिया: मैंने "टूल्स" → "प्रोजेक्ट्स एंड सॉल्यूशंस" → "बिल्ड एंड रन" के तहत "विस्तृत" निर्माण आउटपुट सक्षम किया।

मेरे पास कई परियोजनाएं थीं, सभी सी ++, मैंने प्रोजेक्ट सेटिंग्स के लिए विकल्प सेट किया: (सी / सी ++ → डीबग सूचना प्रारूप) प्रोग्राम प्रोजेक्ट के लिए प्रोग्राम डेटाबेस (/ जीआई) में। हालांकि, इस परियोजना के लिए समस्या को नहीं रोका। समस्या समाधान में अन्य सी ++ परियोजनाओं में से एक से आई थी।

मैंने सभी सी ++ परियोजनाओं को "प्रोग्राम डेटाबेस (/ जीआई)" पर सेट किया है। यह समस्या ठीक है।

फिर, समस्या की रिपोर्ट करने वाली परियोजना समस्या परियोजना नहीं थी। समस्या को ठीक करने के लिए सभी परियोजनाओं को "प्रोग्राम डेटाबेस (/ Zi)" पर सेट करने का प्रयास करें।


विजुअल स्टूडियो 2015 एसपी 3 पर एक और, लेकिन मुझे कुछ साल पहले विजुअल स्टूडियो 2013 पर एक समान समस्या का सामना करना पड़ा।

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

वैसे भी, गलत cpp फ़ाइल में संस्करण.h फ़ाइल शामिल है जो प्रत्येक बिल्ड पर बदल जाती है। तो विजुअल स्टूडियो सभी शीर्षकों का पुनर्निर्माण करता है और पूरे परियोजना के कारण।

खैर, अब यह सामान्य व्यवहार पर वापस आ गया है।


हम इस मुद्दे में भी भाग गए और पता चला कि इसे कैसे हल किया जाए।

मुद्दा ऊपर बताया गया था "फाइल डिस्क पर मौजूद नहीं है।"

यह काफी सही नहीं है। फ़ाइल डिस्क पर मौजूद है, लेकिन .VCPROJ फ़ाइल कहीं और फ़ाइल का संदर्भ दे रही है।

आप "फ़ाइल दृश्य शामिल करें" पर जाकर और प्रत्येक शामिल फ़ाइल पर क्लिक करके इसे 'खोज' कर सकते हैं जब तक आपको विजुअल स्टूडियो नहीं मिल जाता है। फिर आप उस फ़ाइल को (मौजूदा आइटम के रूप में) जोड़ें और उस संदर्भ को हटा दें जो नहीं पाया जा सकता है और सबकुछ ठीक है।

एक वैध सवाल यह है कि: विजुअल स्टूडियो भी कैसे बना सकता है अगर यह नहीं जानता कि फाइलें कहां शामिल हैं?

हमें लगता है कि .vcproj फ़ाइल में अपमानजनक फ़ाइल के कुछ रिश्तेदार पथ हैं जहां यह विजुअल स्टूडियो जीयूआई में नहीं दिखाया गया है, और यह कारण है कि परियोजना वास्तव में क्यों निर्माण करेगी, भले ही इसमें शामिल का पेड़-दृश्य गलत है।


विजुअल स्टूडियो फोरम द्वारा संदर्भित एक और सरल समाधान।

कॉन्फ़िगरेशन बदलना: मेनू टूल्सविकल्पप्रोजेक्ट्स और सॉल्यूशंसवीसी ++ प्रोजेक्ट सेटिंग्ससॉल्यूशन एक्सप्लोरर मोड सभी फाइलें दिखाने के लिए।

फिर आप समाधान एक्सप्लोरर में सभी फाइलें देख सकते हैं।

पीले आइकन द्वारा चिह्नित फ़ाइलों को ढूंढें और उन्हें परियोजना से हटा दें।

यह ठीक है।






visual-studio-2010