在 .NET Core 中替换 AssemblyBuilder.DefineDynamicAssembly

Posted

技术标签:

【中文标题】在 .NET Core 中替换 AssemblyBuilder.DefineDynamicAssembly【英文标题】:Replacement of AssemblyBuilder.DefineDynamicAssembly in .NET Core 【发布时间】:2016-04-29 11:32:48 【问题描述】:

如何将以下代码移植到 .NET Core?

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

有可能吗?

【问题讨论】:

【参考方案1】:

将此添加到您的project.json

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

并使用:

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

目前不支持AssemblyBuilderAccess.RunAndSave - link to source。


对于新的.csproj 项目,请使用:

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

【讨论】:

以上是关于在 .NET Core 中替换 AssemblyBuilder.DefineDynamicAssembly的主要内容,如果未能解决你的问题,请参考以下文章