Replacement of AssemblyBuilder.DefineDynamicAssembly in .NET Core

MaGu picture MaGu · Apr 29, 2016 · Viewed 14.1k times · Source

How do I port the following code to .NET Core?

AppDomain.CurrentDomain.DefineDynamicAssembly(
                new AssemblyName(
                    Guid.NewGuid().ToString()),
                    AssemblyBuilderAccess.RunAndSave);

Is it possible?

Answer

Mkrtich Mazmanyan picture Mkrtich Mazmanyan · Apr 29, 2016

Add this to your project.json:

"dependencies": {
    "System.Reflection.Emit": "4.0.1"
 },

and use:

AssemblyBuilder.DefineDynamicAssembly(new AssemblyName(Guid.NewGuid().ToString()),
            AssemblyBuilderAccess.Run);

AssemblyBuilderAccess.RunAndSave is not supported at the moment - link to source.


For new .csproj projects, use:

<ItemGroup>
  <PackageReference Include="System.Reflection.Emit" Version="4.3.0" />
</ItemGroup>