在 .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的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .NET Core 3.0 中替换 AddJwtBearer 扩展

如何在 .Net Core 中替换 System.Net.IPAddress.Any 并监听所有网络适配器

ASP.NET Core Web 应用程序系列- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)

.NET Core 中的 WebUtility.HtmlDecode 替换

ASP.NET Core标记帮助器——替换元素名称

ASP.NET Core Web 应用程序系列- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)