C# WPF 创建动态程序集后 怎么添加资源
要添加资源到动态程序集,可以使用AssemblyBuilder类和EmbeddedResource类。
首先,创建一个AssemblyBuilder对象来定义动态程序集的属性和内容。然后,使用AddResourceFile方法将资源文件添加到程序集中。
以下是一个示例代码:
using System;
using System.IO;
using System.Reflection;
using System.Reflection.Emit;
class Program
{
static void Main(string[] args)
{
// 创建动态程序集
AssemblyName assemblyName = new AssemblyName("MyDynamicAssembly");
AssemblyBuilder assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(
assemblyName, AssemblyBuilderAccess.RunAndSave);
// 定义模块
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(
assemblyName.Name, assemblyName.Name + ".dll");
// 添加资源文件
string resourcePath = "path/to/resource.txt";
byte[] resourceData = File.ReadAllBytes(resourcePath);
EmbeddedResource embeddedResource = moduleBuilder.DefineResource(
"MyResource", "MyResource.txt", ResourceAttributes.Public);
using (Stream resourceStream = embeddedResource.GetStream())
{
resourceStream.Write(resourceData, 0, resourceData.Length);
}
// 构建动态程序集并保存到磁盘
assemblyBuilder.Save(assemblyName.Name + ".dll");
}
}
上述代码中,我们创建了一个名为"MyDynamicAssembly"的动态程序集,并定义了一个名为"MyResource"的资源文件。资源文件的内容是从指定路径的文件加载的。
最后,我们使用Save方法将动态程序集保存到磁盘。保存后,你可以在磁盘上找到动态程序集和资源文件。
注意:在运行代码之前,确保替换resourcePath变量的值为你的实际资源文件路径
原文地址: https://www.cveoy.top/t/topic/hNnj 著作权归作者所有。请勿转载和采集!