Steema Issues Database

Note: This database is for bugs and wishes only. For technical support help, if you are a customer please visit our online forums;
otherwise you can use StackOverflow.
Before using this bug-tracker we recommend a look at this document, Steema Bug Fixing Policy.



Bug 2603 - Two issues with .NET 6.0 WinForm template export
Summary: Two issues with .NET 6.0 WinForm template export
Status: RESOLVED FIXED
Alias: None
Product: .NET TeeChart
Classification: Unclassified
Component: .NET 5.0 (show other bugs)
Version: unspecified
Hardware: PC Windows
: --- normal
Target Milestone: ---
Assignee: Steema Issue Manager
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-14 06:23 EDT by christopher ireland
Modified: 2023-04-17 10:18 EDT (History)
0 users

See Also:
Chart Series: ---
Delphi / C++ Builder RAD IDE Version:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description christopher ireland 2023-04-14 06:23:11 EDT
Running code such as the following:

        private async void button1_Click(object sender, EventArgs e)
        {
            var export = tChart1.Export.Template;
            var import = tChart2.Import.Template;
            var stream = new MemoryStream();

            await export.SaveAsync(stream);
            stream.Position = 0;
            await import.LoadAsync(stream);
        }

against NuGet version Steema.TeeChart.NET (4.2023.4.13) throws the following error:

System.IO.FileNotFoundException
  HResult=0x80070002
  Message=Could not load file or assembly 'System.Text.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
  Source=TeeChart
  StackTrace:
   at Steema.TeeChart.Export.TemplateExport..ctor(Chart c)
   at Steema.TeeChart.Export.Exports.get_Template()
   at WinFormsApp1.Form1.<button1_Click>d__1.MoveNext() in C:\tmp\WinFormsApp1\Form1.cs:line 12

If we add in the System.Text.Json NuGet and run the code again, we obtain the following error:

System.NotSupportedException
  HResult=0x80131515
  Message=Deserialization of interface types is not supported. Type 'Steema.TeeChart.Drawing.IAxisLinePen'. Path: $.Axes.Left.AxisPen | LineNumber: 3595 | BytePositionInLine: 16.
  Source=System.Text.Json
  StackTrace:
   at System.Text.Json.ThrowHelper.ThrowNotSupportedException(ReadStack& state, Utf8JsonReader& reader, NotSupportedException ex)
   at System.Text.Json.ThrowHelper.ThrowNotSupportedException_DeserializeNoConstructor(Type type, Utf8JsonReader& reader, ReadStack& state)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ContinueDeserialize[TValue](ReadBufferState& bufferState, JsonReaderState& jsonReaderState, ReadStack& readStack, JsonTypeInfo jsonTypeInfo)
   at System.Text.Json.JsonSerializer.<ReadFromStreamAsync>d__76`1.MoveNext()
   at Steema.TeeChart.Import.TemplateImport.<LoadAsync>d__11.MoveNext()
   at WinFormsApp1.Form1.<button1_Click>d__1.MoveNext() in C:\tmp\WinFormsApp1\Form1.cs:line 18

Inner Exception 1:
NotSupportedException: Deserialization of interface types is not supported. Type 'Steema.TeeChart.Drawing.IAxisLinePen'.