Member 13803237 Ответов: 1

Не удалось создать код для свойства ... Ошибка была: "тип xxx" в сборке ...не помечен как сериализуемый


Пожалуйста, я обновляю VB.Net project (с выпуском сообщества VS 2017).  Это библиотека классов/элементов управления.  Он также прекрасно работает в течение многих лет.  Внезапно всякий раз, когда я добавляю кнопку в любой из контейнеров пользовательского интерфейса (custome control или winform), IDE ломается с ошибкой:

=============

Не удалось создать код для свойства "PVSchedule". Ошибка была: "тип "PlinyECtrls2014.Типы.PVSchedule' в сборке 'PlinyECtrls2014, version=1.0.0.0, Culture=nuetral, PublicKeyToken=null' не помечен как сериализуемый.'

==============

Я не понимаю, что такое сериализация. Я только изменяю некоторые из моих элементов управления, чтобы расширить приложение. Но как только я внесу какие - либо изменения в любой пользовательский интерфейс Winform или пользовательский элемент управления-и попытаюсь сохранить пользовательский интерфейс, появится ошибка выше, и изменения не будут сохранены.


Класс PVSchedule имеет свойство Say P1 AS List(of C1)

Затем другой класс, скажем C2, имеет свойство P2 AS List (of PVSchedule)

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

Большое спасибо

Виктор Иванович

Что я уже пробовал:

Я отметил все клаасы, к которым он относится, "сериализуемые", например


<Serializable>
    Public Class PVschedule...


Я также отметил классы как в:


<Browsable(False)>
    <EditorBrowsable(EditorBrowsableState.Never)>
    Public Class PVSchedule

1 Ответов

Рейтинг:
0

Wendelius

Скорее всего, вы добавили общедоступные свойства в свой контроль. Если это так, то дизайнер попытается сериализовать все общедоступные свойства при сохранении окна.

Если вы не хотите, чтобы значение свойства было сериализовано, добавьте DesignerSerializationVisibilityAttribute Class (System.ComponentModel)[^] к свойству и укажите, что оно скрыто.