2016-01-29 8 views
6

मैंने कुछ डायग्नोस्टिक विश्लेषक और कोड फिक्सेस बनाए हैं। वे सभी प्रयोगात्मक छत्ता में अपेक्षित तरीके से।विश्लेषक काम कर रहे हैं लेकिन संभावित कोड फिक्स गायब हो जाते हैं

मैं उन्हें एक Nuget पैकेज के रूप में निर्माण और VS2015 का एक सामान्य उदाहरण में एक परियोजना के लिए जोड़ सकते हैं। अजीब तरह विश्लेषक/कोड ठीक कॉम्बो में से एक ठीक से काम करता है, लेकिन एक दूसरे के लिए ही विश्लेषक काम करता है और कोई कोड-फिक्स सुझाव दिया है (के रूप में उल्लेख यह प्रयोगात्मक छत्ता में काम करता है)।

मेरा सवाल है, मैं इस समस्या का विश्लेषण कैसे कर सकता हूं? ActivityLog.xml में कुछ भी नहीं है। किसी और को इस व्यवहार मनाया गया है?

अद्यतन: मैंने सामान्य उदाहरण में बनाम वीएस एक्सटेंशन का उपयोग करके परीक्षण किया और कोड फिक्स सही ढंग से दिखाई दिया। मैंने उस फाइल को बंद कर दिया और फिर से खोला और कोड फिक्स अब उपलब्ध नहीं था। कोई फर्क नहीं पड़ता कि मैं कितनी बार फ़ाइल बंद और फिर से खोलता हूं, कोड फिक्स वापस नहीं आता है। लेकिन तब मैं एक फ़ाइल है कि एक अलग नैदानिक ​​और कोड समाधान शामिल है खोलने के लिए, और इस किसी भी तरह लात-शुरू होता है अन्य कोड ठीक है, क्योंकि मैं मज़बूती से ऐसा करके वापस कोड से समाधान प्राप्त कर सकते हैं!

यह हास्यास्पद लग सकता है, लेकिन मुझे लगता है कि मैंने इसे अन्य तृतीय पक्ष विश्लेषकों के साथ देखा है। शायद मेरे वीएस इंस्टॉल के साथ कोई समस्या है?

+0

रोसलिन स्रोत कोड [GitHub पर] है (https://github.com/dotnet/roslyn)। विश्लेषकों को किसी भी तरह से ट्रिगर किया जाना चाहिए (संभवतः यह [विश्लेषक ड्राइवर] (https://github.com/dotnet/roslyn/blob/a4e375b95953e471660e9686a46893c97db70b0e/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerDriver.cs) हो सकता है। [डीबग रोज़लिन] (https://github.com/dotnet/roslyn/wiki/building- टेस्टिंग- और- डिबगिंग) आपके विश्लेषकों के साथ यह देखने के लिए कि यह क्यों काम नहीं करता है। –

+0

मैं वीएस 2017 आरटीएम पर एक ही चीज़ देख रहा हूं डिफॉल्ट कोड विश्लेषक प्रोजेक्ट पर, जो लोअरकेस टाइप प्रकारों में जांचता है। कोड फिक्स कभी-कभी काम करता है, कभी-कभी नहीं। यह कोड फिक्स लाइटबुल दिखाता है, लेकिन जब मैं इसे क्लिक करता हूं, तो यह कोड फिक्स की सूची दिखाने के बजाए गायब हो जाता है। अभी तक इस व्यवहार ठीक करने के लिए एक विश्वसनीय तरीका नहीं मिला और रोसलिन में एक बग या संभवतः दृश्य स्टूडियो की तरह लगता है दोनों F5 (VSIX) और nuget यह बनाता है स्थापित करके चल कोशिश की। मैं है। – angularsen

उत्तर

0

जब मैंने रोज़लिन विश्लेषकों और कोड फिक्स प्रदाताओं के लिए एक Nuget पैकेज विकसित किया तो मुझे एक ही अजीब समस्या का सामना करना पड़ा। जब मैं कोड अद्यतन और परियोजनाओं के लिए पैकेज स्थापित, पुराने पैकेज के बजाय नया एक के चल रहा था। जब मैंने विजुअल स्टूडियो को बंद कर दिया और फिर से खोल दिया, तो नया नुजेट पैकेज चल रहा था।

मुझे यकीन नहीं है लेकिन मुझे लगता है कि विजुअल स्टूडियो में Nuget संकुल के लिए एक कैश तंत्र है। मैंने नीचे दी गई विधि का प्रयास नहीं किया लेकिन यह आपकी समस्या को हल करने में मदद कर सकता है।

How to clear NuGet package cache using command line?

संबंधित मुद्दे