C# WPF 创建动态程序集后 怎么添加资源 EmbeddedResource
要将资源添加到动态程序集中,您需要使用AssemblyBuilder和EmbeddedResource类。下面是一个示例代码,演示如何创建动态程序集并添加嵌入式资源:
using System;
using System.IO;
using System.Reflection;
using System.Reflection.Emit;
class Program
{
static void Main()
{
// 创建动态程序集
AssemblyName assemblyName = new AssemblyName("DynamicAssembly");
AssemblyBuilder assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave);
// 创建模块
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule("DynamicModule", "DynamicAssembly.dll");
// 创建资源
string resourceName = "MyResource.txt";
byte[] resourceBytes = File.ReadAllBytes("MyResource.txt");
// 将资源添加到模块
EmbeddedResourceBuilder resourceBuilder = moduleBuilder.DefineEmbeddedResource(resourceName, resourceBytes, ManifestResourceAttributes.Private);
resourceBuilder.AddResource();
// 保存程序集
assemblyBuilder.Save("DynamicAssembly.dll");
}
}
在此示例中,我们创建了一个名为DynamicAssembly的动态程序集,并定义了一个名为DynamicModule的模块。然后,我们使用DefineEmbeddedResource方法创建一个名为MyResource.txt的资源,并将其添加到模块中。最后,我们将程序集保存为DynamicAssembly.dll。
请确保将资源文件(MyResource.txt)放在与可执行文件相同的目录中,并相应地更改资源名称和文件路径
原文地址: https://www.cveoy.top/t/topic/hNnp 著作权归作者所有。请勿转载和采集!