-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Read files generated by obsolete BinaryFormatter #88316
Comments
Item 4 in #29976 seems to be what you need. @GrabYourPitchforks any news on the safe |
Tagging subscribers to this area: @dotnet/area-system-runtime Issue DetailsPerhaps it's not a good issue, I just need some suggestions. According to BinaryFormatter Obsoletion Strategy, using Our product is preparing for it, we plan to replace Is there anyway else (except Currently I'm trying to create a Migrator.exe that stays in fixed old .NET version (maybe .NET framework) so that
|
@panxn in WinForms I created |
@teo-tsirpanis An officially supported package is indeed being discussed, but development of such a package hasn't been resourced. I don't really have any progress on it to share at this time. If you wanted to take the WinForms code you're totally free to do so. However, it has not been threat modeled or security reviewed for any scenarios outside of WinForms-specific scenarios. You would need to perform your own analysis of it in the context of your own application. |
This is also critical for Paint.NET -- it'd be nice to have, say, a nuget package that provides I'm planning on revving the .PDN format such that it won't rely on BF at all, and this is the way forward for me anyway so I can actually add new functionality (new layer types, blend modes, etc.), but I still need to support the legacy format that's been used for 20 years by lots and lots of folks. |
@rickbrew I'm curious whether or not the |
Hi @JeremyKuhne thanks for your advice. We have considered copy .NET code, it should work, just hard to maintenance for us. |
It might work, but I need deserialization and serialization. Otherwise I will not be able to support both the old and new file format versions simultaneously, which could make things quite difficult for some end-users. For example: several people working on project(s), sharing and collaborating on files, but not all of them have the new version of my app. Person 1 saves some images in the new format, but then Person 2 can't load the images at all because they haven't installed the new app version. Maybe they can't because they're in an office and their IT department hasn't deployed the new version, and maybe won't for some time. If I can still use BinaryFormatter and support the old file format version, then Person 1 can at least File -> Save As -> and choose "Legacy .PDN Format" in the file type dropdown. |
@GrabYourPitchforks does this need to stay open to track the areas being investigated you mentioned or can it be closed? |
@tannergooding this is already being tracked by internal work items. Feel free to keep this open or close it depending on your own needs. I personally don't need this item to remain open. |
API proposal: #102014 |
Perhaps it's not a good issue, I just need some suggestions.
According to BinaryFormatter Obsoletion Strategy, using
BinaryFormatter
is error in .NET8, and totally removed in .NET9.Our product is preparing for it, we plan to replace
BinaryFormatter
withJson/Xml
, but the difficulty is backward compatibility, how to read old file format in new product.Is there anyway else (except
BinaryFormatter
) to read/parse files generated byBinaryFormatter
? I guessBinaryFormatter
saves type info and data members into files, so is it possible to dump all these information into json structure?Currently I'm trying to create a Migrator.exe that stays in fixed old .NET version (maybe .NET framework) so that
BinaryFormatter
can keep alive for longer time, however the dependency assemblies are not available, so I create aSerializationBinder
to return fake types. I have to say this way is too difficult. That's why I want to ask here to look for a better way.The text was updated successfully, but these errors were encountered: