c# - Collection was modified; enumeration operation may not execute in VS WinForms Designer -
since converting our company inhouse winforms application vs2008 vs2012 project have problems using winforms designer.
sometimes designer falls error state giving following error message:
"collection modified; enumeration operation may not execute." call stack saying:
instances of error (1) 1. hide call stack @ system.throwhelper.throwinvalidoperationexception(exceptionresource resource) @ system.collections.generic.list`1.enumerator.movenextrare() @ system.collections.generic.list`1.enumerator.movenext() @ microsoft.visualstudio.design.vstyperesolutionservice.assemblyspecfound(list`1 assemblies, string assemblyfullname) @ microsoft.visualstudio.design.vstyperesolutionservice.adddependencies(assembly a, string filename) @ microsoft.visualstudio.design.vstyperesolutionservice.assemblyentry.get_assembly() @ microsoft.visualstudio.design.vstyperesolutionservice.searchbyshortname(string partialname, string fullname, assemblyentry[] entries, assembly& assembly) @ microsoft.visualstudio.design.vstyperesolutionservice.searchnormalentries(assemblyname assemblyname, string typename, boolean ignoretypecase, assembly& assembly, boolean fastsearch) @ microsoft.visualstudio.design.vstyperesolutionservice.searchentries(assemblyname assemblyname, string typename, boolean ignorecase, assembly& assembly, referencetype reftype) @ microsoft.visualstudio.design.vstyperesolutionservice.searchentries(assemblyname assemblyname, string typename, boolean ignoretypecase, assembly& assembly) @ microsoft.visualstudio.design.vstyperesolutionservice.system.componentmodel.design.ityperesolutionservice.getassembly(assemblyname name, boolean throwonerror) @ microsoft.visualstudio.design.vstyperesolutionservice.system.componentmodel.design.ityperesolutionservice.getassembly(assemblyname name) @ microsoft.visualstudio.design.vsdynamictypeservice.onassemblyresolve(object sender, resolveeventargs e) @ system.appdomain.onassemblyresolveevent(runtimeassembly assembly, string assemblyfullname)
it seems designer trying change list of referenced assemblies maybe because of invalid assemblies. while trying solve issue figured out changing "enable clickonce security" option under project->properties->security can bring designer work. if option turned on , designer error turning off , rebuild can solve problem time time , vice versa!!!! ... that's why i'm little lost right now.
i had same problem, drove me crazy day. cause (apart visual studio bug of course) project missing assembly reference. precise, referenced 2 assemblies , b, referenced b - in different version 1 used. should have referenced same version of b referenced.
what boils down is: assembly references weren't quite right. right enough code compile , run fine, wrong enough winforms designer crash.
to find problem, started second vs instance , attached debugger first 1 had solution loaded (debug | attach process). in debug | exceptions, activated breaking on thown common language runtime exceptions. now, in first vs instance, double-clicked form open it.
i got multiple exceptions in row, of had nothing code. 1 of them fileloadexception stating: "could not load file or assembly 'xxx, version=3.7.0.25089, ..." added reference correct version of assembly. (and correct, mean down last digit - winforms designer terribly pedantic when comes assembly versions.) , next thing know, form opens charm!
Comments
Post a Comment