Windows Forms 및 Windows Presentation FoundationBinaryFormatterOLE 지침
이 문서에서는 BinaryFormatter 및 OLE(Windows Forms)에서의 Windows Presentation Foundation 시나리오에서 WPF 제거가 미치는 영향을 간략하게 설명합니다. Windows Forms에 대한 BinaryFormatter에서의 제거의 일반적인 효과에 대한 자세한 내용을 확인하세요. WPF에 대한 BinaryFormatter에서의 제거의 일반적인 효과에 대한 자세한 내용을 확인하세요.
BinaryFormatter 시나리오에서의 OLE
클립보드
OLE 및 System.Windows.Forms.DataFormats
에서의 모든 표준 System.Windows.DataFormats
DataFormats는 BinaryFormatter 및 사용자 지정 형식을 제외하고 DataFormats.Serializable
을(를) 통과하지 않습니다.
DataFormats.Serializable
또는 사용자 지정 형식을 사용하는 경우 BinaryFormatter및 WPF에서 설명한 대로 클립보드 시나리오에 본질적으로 처리되지 않는 유형이 포함되어 있다면 이(가) 사용됩니다. 특히, BinaryFormatter 또는 System.Windows.Forms.Clipboard.SetData이(가) 해당 유형과 함께 호출될 때, 그리고 System.Windows.Clipboard.SetData 또는 System.Windows.Forms.Clipboard.GetData이(가) 해당 유형을 가져오기 위해 호출될 때 System.Windows.Clipboard.GetData이(가) 사용됩니다.
BinaryFormatter 또는 System.Windows.Forms.Clipboard.SetDataObject이(가) 호출되는 경우에도 System.Windows.Clipboard.SetDataObject이(가) 사용됩니다.
BinaryFormatter 제거를 사용하면 BinaryFormatter이(가) 필요한 경우 데이터를 클립보드에서 설정할 때 예외가 표시되지 않습니다. 대신, 클립보드에서 본질적으로 처리되지 않는 형식을 가져오려고 할 때 BinaryFormatter이(가) 제거되었다는 문자열이 표시됩니다.
끌어서 놓기 기능
직렬화 및 역직렬화 중에 끌어서 놓기 시나리오에 본질적으로 처리되지 않는 형식이 포함된 경우, BinaryFormatter 또는 System.Windows.Forms.Control.DoDragDrop이(가) 호출되고 데이터가 프로세스 외부로 끌려갔을 때 System.Windows.DragDrop.DoDragDrop이(가) 사용됩니다. 형식이 본질적으로 처리되지 않는 경우 BinaryFormatter 또는 System.Windows.Forms.DataObject.GetData이 다른 프로세스에서 시작된 데이터를 검색하기 위해 호출될 때 System.Windows.DataObject.GetData 또한 사용됩니다. BinaryFormatter 제거를 사용하면 본질적으로 처리되지 않는 형식에 대해 BinaryFormatter이(가) 제거되었다는 문자열이 다른 프로세스에서 시작된 데이터를 검색하려고 할 때 표시됩니다.
BinaryFormatter(으)로부터 마이그레이션
클립보드 및 끌어서 놓기
클립보드 및 끌어서 놓기 작업에 사용되는 본질적으로 처리되지 않는 형식의 경우 클립보드 또는 끌어서 놓기 API에 전달하기 전에 데이터를 해당 형식을 byte[]
또는 string
페이로드로 지정하는 것이 권장됩니다. 이렇게 하는 방법 중 하나는 JSON을 사용하는 것입니다. JSON 형식 형식 수신을 JSON 형식 형식을 클립보드 또는 끌어서 놓기 작업에 배치하기 위한 조정과 유사하게 처리하도록 조정해야 합니다.
.NET 개체를 JSON(직렬화)으로 작성하는 방법을 참조하여 JSON을 사용하여 형식을 직렬화 및 역직렬화하는 방법에 대한 자세한 내용을 확인하세요.
문제
BinaryFormatter 직렬화 또는 역직렬화와 관련하여 Windows Forms 또는 WPF 앱에서 예기치 않은 동작이 발생하는 경우 각각 github.com/dotnet/winforms 또는 github.com/dotnet/wpf 문제를 제출하세요.
.NET