在Windows平台上,可以使用C#的System.Reflection命名空间来获取exe或dll文件的元数据资源。以下是一个示例代码:
using System;
using System.Reflection;
class Program
{
static void Main()
{
// 获取当前程序集的路径
string assemblyPath = Assembly.GetEntryAssembly().Location;
// 加载程序集
Assembly assembly = Assembly.LoadFrom(assemblyPath);
// 获取所有资源
string[] resourceNames = assembly.GetManifestResourceNames();
// 打印资源路径
foreach (string resourceName in resourceNames)
{
Console.WriteLine(resourceName);
}
}
}
这段代码首先获取当前程序集(exe文件)的路径,然后使用Assembly.LoadFrom
方法加载程序集。通过调用GetManifestResourceNames
方法,可以获取该程序集中所有的资源名称,然后可以遍历打印出来。
注意:这段代码仅适用于获取当前程序集(exe文件)的资源。如果要获取其他exe或dll文件的资源,需要将assemblyPath
更改为目标文件的路径,并确保目标文件可以被加载。