Skip to content

Non-breaking workaround for BinaryFormatter deprecation, issue #2469#2621

Closed
Legion-ale wants to merge 2 commits into
pythonnet:masterfrom
Legion-ale:patch-issue-#2469
Closed

Non-breaking workaround for BinaryFormatter deprecation, issue #2469#2621
Legion-ale wants to merge 2 commits into
pythonnet:masterfrom
Legion-ale:patch-issue-#2469

Conversation

@Legion-ale

Copy link
Copy Markdown

What does this implement/fix? Explain your changes.

non-breaking change that fix BinaryFormatter deprecation on .Net9.0 and higher

Does this close any currently open issues?

yes #2469

Any other comments?

Considering that NoopFormatter exists in the code you're probably working on it, that are my 2 cents.

@Legion-ale Legion-ale left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

; wrongly deleted when celaning function. Now build correctly

@Legion-ale

Legion-ale commented Sep 30, 2025

Copy link
Copy Markdown
Author

I see that the errors are:

/Users/runner/.nuget/packages/microsoft.net.test.sdk/17.14.1/build/netcoreapp2.0/Microsoft.NET.Test.Sdk.targets(4,5): error : Microsoft.NET.Test.Sdk doesn't support net6.0 and has not been tested with it. Consider upgrading your TargetFramework to net8.0 or later. You may also set true in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk. [/Users/runner/work/pythonnet/pythonnet/src/embed_tests/Python.EmbeddingTest.csproj::TargetFramework=net6.0]

Is not something I Implemented... so i didn't commit my changes at the .csproj, but i think is enought to edit Python.EmbeddingTest.csproj tag:

<PropertyGroup>
    <TargetFrameworks>net472;net6.0</TargetFrameworks>
  </PropertyGroup>

to latest .NET LTS:

<PropertyGroup>
    <TargetFrameworks>net472;net8.0</TargetFrameworks>
  </PropertyGroup>

Link to MS versioning:

https://dotnet.microsoft.com/en-us/platform/support/policy

Am I missing something?

Can i commit the project edit?

@filmor

filmor commented Oct 1, 2025

Copy link
Copy Markdown
Member

Sorry for the mess with the build. It's not quite as simple, I'm looking into updating our CI to use .NET 8 and uv, see #2612 and #2520. Once these are through, I'll revisit your PR.

@filmor

filmor commented Oct 21, 2025

Copy link
Copy Markdown
Member

#2639 should do this without trying to parse the version. Thank you for your effort!

@filmor filmor closed this Oct 21, 2025
@Legion-ale

Copy link
Copy Markdown
Author

Ok, i see the #2639 commit and it should work.
Just another cent:
MemoryStream() is disposable, i think is better to dispose of it after use to avoid memleak before returning BinaryFormatter()

@filmor

filmor commented Oct 22, 2025

Copy link
Copy Markdown
Member

Thanks, I'll change it accordingly. For MemoryStream in particular, Dispose effectively only "closes" it via a boolean, but it's still better style to do that here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants