Вы получаете это исключение, когда пытаетесь десериализовать объект, который был сериализован с несовместимой (обычно более ранней) версией того же класса.
Если вы явно не указали serialVersionUID
в своем класса Serializable
, то значение будет генерироваться на основе полей (не transient
) вашего класса. Это делается для того, чтобы не восстанавливать частичные объекты (лучше провалиться, чем слепо продолжить с возможно сломанным объектом).
В системах веб-приложений для сеанса используется обычное использование сериализации : если вы поместите значение в сеанс, вероятно, он будет сериализован в конце концов (для поддержки кластеризации или просто для получения постоянных сеансов).
Итак, либо сохраняют все ваши классы совместимые между версиями или , гарантируют, что не восстановить их не нарушит ваше приложение (т. е. не храните важную информацию таким образом).
В настоящее время вам нужно будет использовать .Net Core 3.0 Preview , так как System.Windows.Forms является новым в .Net Core 3.0. Из System.Windows.Forms репозитория :
Вы можете создать новое приложение WinForms с помощью команды dotnet new, используя следующие команды:
blockquote >dotnet new winforms -o MyWinFormsApp cd MyWinFormsApp dotnet run