DT.AzureStorage: netstandard2.0 message format is not backwards compatible with net462
- Dominant language
- C#
- Stars
- 1.7k
- Forks
- 335
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 6
Description
### Description
Upgrading an existing app from .NET Framework to .NET Core or higher may cause existing orchestrations to get stuck due to message serialization compatibility issues.
Related: https://stackoverflow.com/questions/50190568/net-standard-4-7-1-could-not-load-system-private-corelib-during-serialization
New extensibility may be required to help mitigate this problem for users that need to migrate from .NET Framework to modern .NET versions.
### Expected behavior
Switching from .NET Framework to a newer version, like .NET 6, ideally should be safe and not require any special interventions.
### Actual behavior
Changes in the assembly name for primitive types like `Int32` and `String` from .NET Framework to .NET Core unfortunately result in deserialization problems because of the JSON settings used by DT.AzureStorage.
Example:

### Known workarounds
Implement a custom type binder, which is a new feature introduced [here](https://github.com/Azure/durabletask/pull/878). The test code in the PR shows how this specific problem can be mitigated.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.