У нас есть сериализуемый класс, который содержит данные из буфера обмена для передачи из элемента управления Windows в элемент управления WPF. Это сработало в framework 4.8 после преобразования в .Net 5 мы теперь получаем ошибку: Введите "System.RuntimeType" в сборке "Система".Частное.CoreLib, Версия=5.0.0.0, Культура=нейтральная, PublicKeyToken=7cec85d7bea7798e' не помечен как сериализуемый.
Это происходит в обработчике событий Drop в WPF в строке:
var tClip = e.Data.GetDataPresent(typeof(ClipboardDescriptor));
Где "е" - это Система.Windows.ДрагЕвентАрги.
using System;
using System.Windows.Forms;
namespace Support.Classes
{
/// <summary>
/// Summary description for ClipboardDescriptor.
/// </summary>
[Serializable]
public class ClipboardDescriptor
{
private Guid id;
private Guid parentDocumentID;
private System.Type objtype;
private TreeNode baseTreeNode;
private string objname;
public ClipboardDescriptor()
{
baseTreeNode = null;
}
public Guid ParentDocumentID
{
get { return(parentDocumentID); }
set { parentDocumentID = value; }
}
public Guid ID
{
get { return(id); }
set { id = value; }
}
public System.Type ObjType
{
get { return(objtype); }
set { objtype = value; }
}
public string ObjName
{
get { return(objname); }
set { objname = value; }
}
/// <summary>
/// Get the treenode that this object is associated with
/// </summary>
public TreeNode BaseTreeNode
{
get { return(baseTreeNode); }
set { baseTreeNode = value; }
}
}
}