2009-10-19 3 views
0

Получил проблему, которая заставляет меня немного орехов здесь. У меня есть проект winforms, содержащий usercontrols, которые используют типы из другого проекта, который ссылается на add project. Я проверил ссылки, и все они в порядке, есть только одна ссылка из проекта пользовательского интерфейса на сервисы, и это путем добавления ссылки на проект. Я могу обойти эту проблему, удалив файл resx или в конструкторе, установив строку с ошибкой, которая использует resx для null. Тем не менее, я так много времени уделяю этому времени. Ive googled до смерти и проверил здесь без радости. У кого-то есть указатели. Ошибка ниже с трассировки стекаVisual Studio 2008, преобразование типа конструктора WinForms

ТИА

Ошибка:

 
Object of type 'NewSchool.Services.Document.IDocumentDto[]' cannot be converted to type 'NewSchool.Services.Document.IDocumentDto[]'. 

Трассировка стека:

 
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.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) 

ответ

0

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

Проводите ли вы проект, чтобы взаимодействовать с сервисным проектом?

+0

Спасибо за ответ, я проверил ссылки и не нашел округления, действительно, я считаю, что он не построил бы, если бы это было так. – user344836

0

Я бы поспорил, что вы подвергаете IDocumentDto [] как свойство в каком-то контроле?

Почему это происходит, я не могу сказать вам. (Я думаю, что это как-то связано с тем, что Visual Studio пытается создать экземпляр интерфейса во время разработки, чтобы разоблачить его в сетке свойств, но я, вероятно, ошибаюсь. Я не парень GUI, и 99% моей работы находится в средний уровень.)

Чтобы исправить это, я создаю фактические методы (а не свойство), чтобы получить и установить переменную.

+0

Спасибо за ответ. Вы правы, извините, я должен был сказать, что это свойство выставляется из элемента управления, и эта визуальная студия пытается создать значение в дизайнере, даже если я поместил видимый false атрибут, чтобы указать, что он не должен отображаться в окне свойств. Я предполагаю, что могу использовать методы для доступа к этим вещам, но он немного похож на ошибку Visual Studio – user344836

0

Это просто случилось со мной, и не все эти решения сработали для меня. Я наконец выяснил причину. Дизайнер добавил файл resx для размещения BindingSource на экране. Был также странный ресурс одного элемента управления, размещенного на элементе управления, без значения. После удаления этих ресурсов он снова работает.

Смежные вопросы