Closed
Description
Description
Adding <PublishAot>true</PublishAot>
breaks dynamic code even when running the JIT version
Reproduction Steps
Expression<Func<int, int, int, int>> e = (_, _, _) => 1;
e.Compile();
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<PublishAot>true</PublishAot>
</PropertyGroup>
</Project>
dotnet run
Expected behavior
No exceptions
Actual behavior
Unhandled exception. System.PlatformNotSupportedException: Dynamic code generation is not supported on this platform.
at System.Reflection.Emit.AssemblyBuilder.ThrowDynamicCodeNotSupported()
at System.Reflection.Emit.DynamicMethod.Init(String name, MethodAttributes attributes, CallingConventions callingConvention, Type returnType, Type[] signature, Type owner, Module m, Boolean skipVisibility, Boolean transparentMethod)
at System.Reflection.Emit.DynamicMethod..ctor(String name, Type returnType, Type[] parameterTypes)
at System.Dynamic.Utils.DelegateHelpers.CreateObjectArrayDelegateRefEmit(Type delegateType, Func`2 handler)
Regression?
No response
Known Workarounds
No response
Configuration
SDK: 8.0.100-preview.1.23107.12
Other information
No response