Since .NET 8 an exception is thrown if a BinaryFormatter function is called. This means that DeepClone will not work on .NET 8 unless a compatibility flag is enabled. By default consumers on the latest .NET 8 version will not be able to use DeepClone
BinaryFormatter will be removed in .NET 9. This means DeepClone will cease to function entirely for consumers on .NET 9 or later.
The NetStandardSerialization class and ISurrogateProvider interface are also being removed. While they are public and haven't been marked as obsolete it seems unlikely that any consumer is relying on them. If they are then they can copy the code from CXuesong/BotBuilder.Standard.
This is my first PR so please let me know if anything needs to be changed.
Thanks for the contribution. I cannot accept removal of a public interface even that it could be unused.
Also, I'm not ready to release a major version yet.
Remove the obsolete
DeepClone
function. This function was marked as obsolete back in 2020 and will no longer work with newer versions of .NETRational for removing
DeepClone
BinaryFormatter
function is called. This means thatDeepClone
will not work on .NET 8 unless a compatibility flag is enabled. By default consumers on the latest .NET 8 version will not be able to useDeepClone
BinaryFormatter
will be removed in .NET 9. This meansDeepClone
will cease to function entirely for consumers on .NET 9 or later.The
NetStandardSerialization
class andISurrogateProvider
interface are also being removed. While they are public and haven't been marked as obsolete it seems unlikely that any consumer is relying on them. If they are then they can copy the code fromCXuesong/BotBuilder.Standard
.This is my first PR so please let me know if anything needs to be changed.