-
Notifications
You must be signed in to change notification settings - Fork 60
DYN-9195: Net 10.0 update #67
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
Conversation
- adding a simple icon to a node to demonstrate the 8.0 workflow to contrast and show a fix when introducing 10.0
- now the image is added as a File and in .png format - this alone works in order to correctly provide the icon to Dynamo
- updated all projects to target .net 10.0 - updated workflow yaml - updated readme reference to dotnet
- add customisation.dll file to the build output directory
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR upgrades all sample projects from .NET 8.0 to .NET 10.0 as part of the broader Dynamo .NET 10.0 upgrade initiative. The upgrade addresses the removal of BinaryFormatter by implementing proper resource management through a custom node icon example.
- Updates all project files to target .NET 10.0 framework
- Adds resource handling infrastructure for custom node icons
- Updates build pipeline and documentation to reflect .NET 10.0 requirements
Reviewed Changes
Copilot reviewed 11 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/*/**.csproj | Updated TargetFramework from net8.0 to net10.0 across all sample projects |
| src/SampleLibraryUI/SampleLibraryUI.csproj | Added resource compilation and customization DLL generation for custom icons |
| src/SampleLibraryUI/Resources/SampleLibraryUI.resx | New resource file defining custom node icons for demonstration |
| README.md | Updated requirements to specify .NET 10.0 |
| .github/workflows/build.yml | Updated CI pipeline to use .NET 10.0 SDK |
Files not reviewed (1)
- src/SampleLibraryUI/Resources/SampleLibraryUI.Designer.cs: Language not supported
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| <ItemGroup> | ||
| <PackageFiles Include="$(OutDir)\SampleLibraryUI.dll;$(OutDir)\SampleLibraryUI.XML" /> | ||
| <PackageFiles Include="$(OutDir)\SampleLibraryUI.dll;$(OutDir)\SampleLibraryUI.XML;$(OutDir)\SampleLibraryUI.customization.dll;$(ProjectDir)\Resources\SampleLibraryUIImages.resources" /> | ||
| <ENResourceFiles Include="$(OutDir)\en-US\*.*" /> |
Copilot
AI
Sep 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mixed indentation: this line uses tabs while surrounding lines use spaces. Please use consistent indentation (spaces) to match the rest of the file.
| <value>.\LargeIcons\SampleLibraryUI.Examples.DropDownExample.Large.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
| </data> | ||
| <data name="SampleLibraryUI.Examples.DropDownExample.Small" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||
| <value>.\SmallIcons\SampleLibraryUI.Examples.DropDownExample.Small.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
Copilot
AI
Sep 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The resource references use mscorlib version 4.0.0.0, which is specific to .NET Framework. For .NET 10.0, these should reference the appropriate .NET runtime assembly. Consider using System.Private.CoreLib or removing the version-specific references to allow automatic resolution.
| <value>.\LargeIcons\SampleLibraryUI.Examples.DropDownExample.Large.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | |
| </data> | |
| <data name="SampleLibraryUI.Examples.DropDownExample.Small" type="System.Resources.ResXFileRef, System.Windows.Forms"> | |
| <value>.\SmallIcons\SampleLibraryUI.Examples.DropDownExample.Small.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | |
| <value>.\LargeIcons\SampleLibraryUI.Examples.DropDownExample.Large.png;System.Byte[]</value> | |
| </data> | |
| <data name="SampleLibraryUI.Examples.DropDownExample.Small" type="System.Resources.ResXFileRef, System.Windows.Forms"> | |
| <value>.\SmallIcons\SampleLibraryUI.Examples.DropDownExample.Small.png;System.Byte[]</value> |
|
@dnenov Check out the latest Nuget after your PR merge, here: https://www.nuget.org/packages/DynamoVisualProgramming.Core/4.0.0-beta2526. Curious if this can be applied to any of the dependency in this repo |
- updated nuget package references
All nugets updated now @QilongTang! It is building fine and loading as before. |
|
We will wait for newer Nugets with actual .NET10 built binaries before merging |
We should update this now, as we have .Net10 nugets available? |
Updated all nugets to |
|
@dnenov Please also touch https://github.com/DynamoDS/DynamoSamples/blob/master/.github/workflows/build.yml to make the build check pass |
- update the dotnet-version: "10.0.100-preview.5.25277.114" - update to latest nugets
I updated the |
Purpose
This PR is part of the
dotnet 10.0upgrade initiative for Dynamo and all supporting components.The primary change in this transition is the removal of BinaryFormatter, which was previously used to deserialize embedded resources. Because the sample packages did not include any resources, it was difficult to evaluate the impact of this change.
To address this, I added a custom node icon to the original
.NET 8.0version and then implemented the proper handling for it in.NET 10.0. This ensures that the new approach to resource management is correctly demonstrated and validated.Addresses https://jira.autodesk.com/browse/DYN-9195 part of https://jira.autodesk.com/browse/DYN-9194 epic.
Declarations
Check these if you believe they are true
*.resxfilesRelease Notes
net10.0upgrade changesReviewers
@saintentropy
@zeusongit
@QilongTang
@jasonstratton
FYIs
@achintyabhat