Ошибка проектирования WinForm: почему я вижу эту страницу? - PullRequest
0 голосов
/ 12 апреля 2011
Object of type 'System.Collections.Generic.List`1[Jud.Itd.Cmis.BusinessObjects.AddressType]' cannot be converted to type 'System.Collections.Generic.IList`1[Jud.Itd.Cmis.BusinessObjects.AddressType]'. 

Закрытие Visual Studio, повторное открытие и повторная компиляция всех исправлений, поэтому я бы сказал, что это явно ошибка и огромная неприятность.

Вопрос в том, есть ли обходной путь, кроме перезапускаVS или жить без конструктора?Очистка приложения и перекомпиляция всего этого не делают.

Instances of this error (1)  

1.   Hide Call Stack 

at System.RuntimeType.CheckValue(Object value, Binder binder, CultureInfo culture, BindingFlags invokeAttr)
at System.Reflection.RtFieldInfo.InternalSetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture, Boolean doVisibilityCheck, Boolean doCheckConsistency)
at System.Reflection.RtFieldInfo.InternalSetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture, Boolean doVisibilityCheck)
at System.Runtime.Serialization.SerializationFieldInfo.InternalSetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture, Boolean requiresAccessCheck, Boolean isBinderDefault)
at System.Runtime.Serialization.FormatterServices.SerializationSetValue(MemberInfo fi, Object target, Object value)
at System.Runtime.Serialization.ObjectManager.CompleteObject(ObjectHolder holder, Boolean bObjectFullyComplete)
at System.Runtime.Serialization.ObjectManager.DoNewlyRegisteredObjectFixups(ObjectHolder holder)
at System.Runtime.Serialization.ObjectManager.RegisterObject(Object obj, Int64 objectID, SerializationInfo info, Int64 idOfContainingObj, MemberInfo member, Int32[] arrayIndex)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.RegisterObject(Object obj, ParseRecord pr, ParseRecord objectPr, Boolean bIsString)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObjectEnd(ParseRecord pr)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Parse(ParseRecord pr)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)
at System.Resources.ResXDataNode.GenerateObjectFromDataNodeInfo(DataNodeInfo dataNodeInfo, ITypeResolutionService typeResolver)
at System.Resources.ResXDataNode.GetValue(ITypeResolutionService typeResolver)
at System.Resources.ResXResourceReader.ParseDataNode(XmlTextReader reader, Boolean isMetaData)
at System.Resources.ResXResourceReader.ParseXml(XmlTextReader reader)  

Help with this error  

MSDN Help   


Forum posts about this error  

Search the MSDN Forums for posts related to this error   

Ответы [ 2 ]

0 голосов
/ 18 октября 2013

У меня может быть ответ. Я только что столкнулся с той же ошибкой и обнаружил, что она возникает, если в конструкторе Form или в методе Form_Load() есть ошибки. Я попытался закомментировать код в этих методах, и когда это не помогло, я понял, что в некоторых компонентах должна быть ошибка.

И это было. Если вы используете какой-то пользовательский компонент, и у него есть свойства, для которых установлено значение null, даже после вызова конструктора этого компонента, это может вызвать эту ошибку рендеринга.

Вы можете найти эти свойства в вашем файле Form.resx. Они будут иметь значение в столбце Value, установленное на (Nothing/null).

Что помогло мне, так это удалить эти плохие строки и пометить мои свойства следующими атрибутами.

[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
0 голосов
/ 13 апреля 2011

В конструкторе WinForm есть ошибка. На самом деле, эта ошибка считается самой распространенной ошибкой в ​​разработке WinForm. Жить с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...