Tweak RazorConfigurationFormatter to account for serialization format change #10157
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The recent FUSE changes updated the
RazorConfigurationFormatter
to write serialize/deserialize a new boolean. However,SerializationFormat.Version
for MessagePack wasn't updated, so it just fails during deserialization when olderproject.razor.bin
files are initially read off disk. This tweaks the deserializer to be more forgiving and handle the case that the boolean isn't present.A similar change is not needed in the JSON serialization because that deserializer was written to be a bit more forgiving and the JSON
SerializationFormat.Version
was updated.I ran into this when opening an old clone of OrchardCore that I'd opened previously, and started hitting exceptions during message pack deserialization.