2013-05-10 7 views
7

में गणना ऑपरेशन निष्पादित नहीं हो सकता है क्योंकि हमारी कंपनी इनहाउस Winforms अनुप्रयोग को VS2008 से VS2012 प्रोजेक्ट में परिवर्तित करने के बाद से मुझे Winforms डिजाइनर का उपयोग करने में समस्याएं हैं।संग्रह संशोधित किया गया था; वीएस WinForms डिजाइनर

कभी कभी डिजाइनर एक त्रुटि राज्य निम्न त्रुटि संदेश दे रही है में आते हैं:

"संग्रह संशोधित किया गया था; गणन किए गए कार्य पूरे नहीं हो सकता है।" कॉल स्टैक कहावत के साथ:

Instances of this error (1) 

1. Hide Call Stack 

at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) 
at System.Collections.Generic.List`1.Enumerator.MoveNextRare() 
at System.Collections.Generic.List`1.Enumerator.MoveNext() 
at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblySpecFound(List`1 assemblies, String assemblyFullName) 
at Microsoft.VisualStudio.Design.VSTypeResolutionService.AddDependencies(Assembly a, String fileName) 
at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.get_Assembly() 
at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchByShortName(String partialName, String fullName, AssemblyEntry[] entries, Assembly& assembly) 
at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchNormalEntries(AssemblyName assemblyName, String typeName, Boolean ignoreTypeCase, Assembly& assembly, Boolean fastSearch) 
at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchEntries(AssemblyName assemblyName, String typeName, Boolean ignoreCase, Assembly& assembly, ReferenceType refType) 
at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchEntries(AssemblyName assemblyName, String typeName, Boolean ignoreTypeCase, Assembly& assembly) 
at Microsoft.VisualStudio.Design.VSTypeResolutionService.System.ComponentModel.Design.ITypeResolutionService.GetAssembly(AssemblyName name, Boolean throwOnError) 
at Microsoft.VisualStudio.Design.VSTypeResolutionService.System.ComponentModel.Design.ITypeResolutionService.GetAssembly(AssemblyName name) 
at Microsoft.VisualStudio.Design.VSDynamicTypeService.OnAssemblyResolve(Object sender, ResolveEventArgs e) 
at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName) 

ऐसा नहीं है कि डिजाइनर संदर्भित विधानसभाओं शायद कुछ ऐसी अमान्य विधानसभाओं की वजह से की सूची को बदलना कोशिश कर रहा है लगता है। इस मुद्दे को हल करने का प्रयास करते समय मैंने यह पाया कि परियोजना-> गुण-> सुरक्षा के तहत "क्लिकऑन सुरक्षा सक्षम करें" विकल्प को बदलने से डिजाइनर को वापस काम पर लाया जा सकता है। लेकिन अगर विकल्प चालू है और मुझे डिज़ाइनर त्रुटि इसे बंद कर देती है और सभी को पुनर्निर्माण समय-समय पर समस्या का समाधान कर सकता है और VICE VERSA !!!! ... यही कारण है कि मैं अभी थोड़ा खो गया हूँ।

+0

शायद आपको पहले 2010 में अपग्रेड करने का प्रयास करना चाहिए। :/ –

+0

अपवाद को फेंकने से पहले संग्रह * संशोधित हो गया। तो कॉलस्टैक आपकी मदद नहीं करता है। यह पूरी तरह अस्पष्ट है कि आपका फॉर्म इस अपवाद का कारण कैसा दिख सकता है। –

उत्तर

1

ऐसा लगता है कि यह विजुअल स्टूडियो 2012 बग है।

यहाँ सरकारी मेल मैं माइक्रोसॉफ्ट

Greetings from Microsoft Connect!

This notification was generated for feedback item: VS2012 WinForms Designer doesn't work anymore -Error: Collection was modified; enumeration operation may not execute.which you submitted at theMicrosoft Connect site.

Thank you for your feedback. This bug is a duplicate of the one reported here: http://connect.microsoft.com/VisualStudio/feedback/details/781193/form-designer-error-collection-was-modified-enumeration-operation-may-not-executethere Please monitor that issue (781193) for further updates. There are no workarounds available, but we are fixing this issue in the next release of Visual Studio.

+0

मैंने अभी VS2012 अपडेट 3 स्थापित किया है। समस्या अभी भी बनी हुई है। ऐसा लगता है कि फिक्स के साथ "अगली रिलीज" वीएस2013 होगी। –

4

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

यह क्या उबलता है: मेरा असेंबली संदर्भ बिल्कुल सही नहीं था। वे कोड को संकलित करने और ठीक से चलाने के लिए पर्याप्त थे, लेकिन WinForms डिजाइनर को क्रैश करने के लिए पर्याप्त गलत था।

समस्या को खोजने के लिए, मैंने एक दूसरा वीएस इंस्टेंस शुरू किया और अपना डीबगर पहले समाधान में लगाया जिसने मेरा समाधान लोड किया था (डीबग | प्रोसेस से जुड़ा हुआ)। फिर डीबग में | अपवाद, मैंने सामान्य भाषा रनटाइम अपवादों को तोड़ने पर सक्रिय किया। अब, मेरे पहले वीएस इंस्टेंस में, मैंने इसे खोलने के लिए फॉर्म को डबल-क्लिक किया।

मुझे एक पंक्ति में कई अपवाद मिला, जिनमें से अधिकांश को मेरे कोड से कोई लेना देना नहीं था। लेकिन उनमें से एक फ़ाइल लोड लोड अपवाद था: "फाइल या असेंबली लोड नहीं हो सका 'XXX, संस्करण = 3.7.0.25089, ..." तो मैंने असेंबली के सही संस्करण का संदर्भ जोड़ा। (और सही से, मेरा मतलब अंतिम अंक तक है - WinForms डिजाइनर असेंबली संस्करणों की बात करते समय बहुत ही pedantic है।) और अगली बात मुझे पता है, फार्म एक आकर्षण की तरह खुलता है!

+0

यह मेरे लिए एक अच्छा कामकाज की तरह लगता है। वीएस -2008 से वीएस2012 तक हमारी परियोजना माइग्रेट करते समय हमने एक संस्करण-नरक में समाप्त होने वाली हमारी छोटी परियोजनाओं से भी बाहर निकल गए। मैंने आपके संदर्भित डीएलएल में जो भी सुझाव दिया है और गलत संस्करण संख्याओं को देखने की कोशिश करूंगा – LazyGeek

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