kontent-ai / model-generator-net

Kontent.ai .NET model generator.
https://www.nuget.org/packages/Kontent.Ai.ModelGenerator
MIT License
17 stars 18 forks source link

Linker warnings #176

Open Sevitas opened 1 year ago

Sevitas commented 1 year ago

Motivation

There are some warnings when self-contained script is used.

C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\ServiceCollectionExtensions.cs(24,9): warning IL2026: Using me mber 'Microsoft.Extensions.Configuration.ConfigurationBinder.Bind(IConfiguration, Object)' which has 'RequiresUnreferen cedCodeAttribute' can break functionality when trimming application code. Cannot statically analyze the type of instanc e so its members may be trimmed. [C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.cs proj] C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\Program.cs(38,13): warning IL2026: Using member 'Microsoft.Ext ensions.DependencyInjection.OptionsConfigurationServiceCollectionExtensions.Configure<TOptions>(IServiceCollection, ICo nfiguration)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. TOp tions's dependent types may have their members trimmed. Ensure all required members are preserved. [C:\GIT\model-genera tor-net\src\Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj]

C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\Program.cs(38,13): Trim analysis warning IL2026: Kontent.Ai.Mo delGenerator.Program.<Main>d__0.MoveNext(): Using member 'Microsoft.Extensions.DependencyInjection.OptionsConfiguration ServiceCollectionExtensions.Configure<TOptions>(IServiceCollection, IConfiguration)' which has 'RequiresUnreferencedCod eAttribute' can break functionality when trimming application code. TOptions's dependent types may have their members t rimmed. Ensure all required members are preserved. [C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\Kontent.Ai .ModelGenerator.csproj] C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\ServiceCollectionExtensions.cs(24,9): Trim analysis warning IL 2026: Kontent.Ai.ModelGenerator.ServiceCollectionExtensions.LoadOptionsConfiguration(IServiceCollection, IConfiguration , String): Using member 'Microsoft.Extensions.Configuration.ConfigurationBinder.Bind(IConfiguration, Object)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. Cannot statically analyze the type of instance so its members may be trimmed. [C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\Kontent.A i.ModelGenerator.csproj] ILLink : Trim analysis warning IL2026: System.Data.DataSet.System.Xml.Serialization.IXmlSerializable.GetSchema(): Using member 'System.Data.DataSet.WriteXmlSchema(DataSet, XmlWriter)' which has 'RequiresUnreferencedCodeAttribute' can brea k functionality when trimming application code. DataSet.GetSchema uses TypeDescriptor and XmlSerialization underneath w hich are not trimming safe. Members from serialized types may be trimmed if not referenced directly. [C:\GIT\model-gene rator-net\src\Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] ILLink : Trim analysis warning IL2026: System.Data.DataSet.System.Xml.Serialization.IXmlSerializable.ReadXml(XmlReader) : Using member 'System.Data.DataSet.ReadXmlSerializableInternal(XmlReader)' which has 'RequiresUnreferencedCodeAttribut e' can break functionality when trimming application code. DataSet.ReadXml uses XmlSerialization underneath which is no t trimming safe. Members from serialized types may be trimmed if not referenced directly. [C:\GIT\model-generator-net\s rc\Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] ILLink : Trim analysis warning IL2026: System.Data.DataSet.System.Xml.Serialization.IXmlSerializable.WriteXml(XmlWriter ): Using member 'System.Data.DataSet.WriteXmlInternal(XmlWriter)' which has 'RequiresUnreferencedCodeAttribute' can bre ak functionality when trimming application code. DataSet.WriteXml uses XmlSerialization underneath which is not trimmin g safe. Members from serialized types may be trimmed if not referenced directly. [C:\GIT\model-generator-net\src\Konten t.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] ILLink : Trim analysis warning IL2026: System.Data.DataTable.System.Xml.Serialization.IXmlSerializable.GetSchema(): Usi ng member 'System.Data.DataTable.GetXmlSchema()' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. DataTable.GetSchema uses TypeDescriptor and XmlSerialization underneath which are not t rimming safe. Members from serialized types may be trimmed if not referenced directly. [C:\GIT\model-generator-net\src\ Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] ILLink : Trim analysis warning IL2026: System.Data.DataTable.System.Xml.Serialization.IXmlSerializable.ReadXml(XmlReade r): Using member 'System.Data.DataTable.ReadXmlSerializableInternal(XmlReader)' which has 'RequiresUnreferencedCodeAttr ibute' can break functionality when trimming application code. DataTable.ReadXml uses XmlSerialization underneath which is not trimming safe. Members from serialized types may be trimmed if not referenced directly. [C:\GIT\model-generator -net\src\Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] ILLink : Trim analysis warning IL2026: System.Data.DataTable.System.Xml.Serialization.IXmlSerializable.WriteXml(XmlWrit er): Using member 'System.Data.DataTable.WriteXmlInternal(XmlWriter)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. DataTable.WriteXml uses XmlSerialization underneath which is not t rimming safe. Members from serialized types may be trimmed if not referenced directly. [C:\GIT\model-generator-net\src\ Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] C:\Users\MartinSevcik\.nuget\packages\anglesharp\0.17.1\lib\netstandard2.0\AngleSharp.dll : warning IL2104: Assembly 'A ngleSharp' produced trim warnings. For more information see https://aka.ms/dotnet-illink/libraries [C:\GIT\model-genera tor-net\src\Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] C:\Users\MartinSevcik\.nuget\packages\kontent.ai.delivery\17.4.0\lib\net6.0\Kontent.Ai.Delivery.dll : warning IL2104: A ssembly 'Kontent.Ai.Delivery' produced trim warnings. For more information see https://aka.ms/dotnet-illink/libraries [ C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] C:\Users\MartinSevcik\.nuget\packages\kontent.ai.management\4.4.0\lib\net6.0\Kontent.Ai.Management.dll : warning IL2104 : Assembly 'Kontent.Ai.Management' produced trim warnings. For more information see https://aka.ms/dotnet-illink/librar ies [C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] C:\Users\MartinSevcik\.nuget\packages\microsoft.codeanalysis.workspaces.common\4.5.0\lib\netcoreapp3.1\Microsoft.CodeAn alysis.Workspaces.dll : warning IL2104: Assembly 'Microsoft.CodeAnalysis.Workspaces' produced trim warnings. For more i nformation see https://aka.ms/dotnet-illink/libraries [C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\Kontent .Ai.ModelGenerator.csproj] C:\Users\MartinSevcik\.nuget\packages\newtonsoft.json\13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll : warning IL2104: A ssembly 'Newtonsoft.Json' produced trim warnings. For more information see https://aka.ms/dotnet-illink/libraries [C:\G IT\model-generator-net\src\Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] C:\Users\MartinSevcik\.nuget\packages\scrutor\4.2.0\lib\net6.0\Scrutor.dll : warning IL2104: Assembly 'Scrutor' produce d trim warnings. For more information see https://aka.ms/dotnet-illink/libraries [C:\GIT\model-generator-net\src\Konten t.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] C:\Users\MartinSevcik\.nuget\packages\system.composition.hosting\6.0.0\lib\net6.0\System.Composition.Hosting.dll : warn ing IL2104: Assembly 'System.Composition.Hosting' produced trim warnings. For more information see https://aka.ms/dotne t-illink/libraries [C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj] C:\Users\MartinSevcik\.nuget\packages\system.composition.typedparts\6.0.0\lib\net6.0\System.Composition.TypedParts.dll : warning IL2104: Assembly 'System.Composition.TypedParts' produced trim warnings. For more information see https://aka .ms/dotnet-illink/libraries [C:\GIT\model-generator-net\src\Kontent.Ai.ModelGenerator\Kontent.Ai.ModelGenerator.csproj]

Additional context

https://github.com/kontent-ai/model-generator-net/issues/123#issuecomment-984675172 https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/fixing-warnings#requiresunreferencedcode https://github.com/dotnet/runtime/discussions/59230