diff --git a/src/Spectre.Console.Cli/CommandApp.cs b/src/Spectre.Console.Cli/CommandApp.cs index 1c05deb..cc6712d 100644 --- a/src/Spectre.Console.Cli/CommandApp.cs +++ b/src/Spectre.Console.Cli/CommandApp.cs @@ -5,6 +5,9 @@ namespace Spectre.Console.Cli; /// <summary> /// The entry point for a command line application. /// </summary> +#if !NETSTANDARD2_0 +[RequiresDynamicCode("Spectre.Console.Cli relies on reflection. Use during trimming and AOT compilation is not supported and may result in unexpected behaviors.")] +#endif public sealed class CommandApp : ICommandApp { private readonly Configurator _configurator; diff --git a/src/Spectre.Console.Cli/CommandAppOfT.cs b/src/Spectre.Console.Cli/CommandAppOfT.cs index 5e80663..6df8539 100644 --- a/src/Spectre.Console.Cli/CommandAppOfT.cs +++ b/src/Spectre.Console.Cli/CommandAppOfT.cs @@ -6,6 +6,9 @@ namespace Spectre.Console.Cli; /// The entry point for a command line application with a default command. /// </summary> /// <typeparam name="TDefaultCommand">The type of the default command.</typeparam> +#if !NETSTANDARD2_0 +[RequiresDynamicCode("Spectre.Console.Cli relies on reflection. Use during trimming and AOT compilation is not supported and may result in unexpected behaviors.")] +#endif public sealed class CommandApp<TDefaultCommand> : ICommandApp where TDefaultCommand : class, ICommand { diff --git a/src/Spectre.Console.Cli/Spectre.Console.Cli.csproj b/src/Spectre.Console.Cli/Spectre.Console.Cli.csproj index 482887f..46e3fb8 100644 --- a/src/Spectre.Console.Cli/Spectre.Console.Cli.csproj +++ b/src/Spectre.Console.Cli/Spectre.Console.Cli.csproj @@ -4,7 +4,10 @@ <TargetFrameworks>net9.0;net8.0;netstandard2.0</TargetFrameworks> <IsPackable>true</IsPackable> </PropertyGroup> - + <PropertyGroup> + <IsAotCompatible Condition="'$(TargetFramework)' != 'netstandard2.0'" >false</IsAotCompatible> + <IsTrimmable>false</IsTrimmable> + </PropertyGroup> <ItemGroup Label="REMOVE THIS"> <InternalsVisibleTo Include="Spectre.Console.Cli.Tests" /> </ItemGroup>