C# 将程序集保存为适合Assembly.Load的字节数组

C# 将程序集保存为适合Assembly.Load的字节数组,c#,.net,reflection,assemblies,C#,.net,Reflection,Assemblies,我注意到Assembly.LoadFrom具有以下重载 public static Assembly Load( byte[] rawAssembly ) 如何将程序集保存为字节数组,以便像这样创建它 上下文:我想编写一个测试工具来确保服务的向后兼容性。我想将客户机的固定版本加载到我的工具中,并从许多不同的版本调用该服务。我认为将旧版本保存为byte[]将允许我冻结它们。如果您将旧版本保存为文件(就像它们通常构建的那样),这就是您所需要的。如果需要,可以将其读入字节数组(例如,使用Fi

我注意到Assembly.LoadFrom具有以下重载

public static Assembly Load(
    byte[] rawAssembly
)
如何将程序集保存为字节数组,以便像这样创建它


上下文:我想编写一个测试工具来确保服务的向后兼容性。我想将客户机的固定版本加载到我的工具中,并从许多不同的版本调用该服务。我认为将旧版本保存为byte[]将允许我冻结它们。

如果您将旧版本保存为文件(就像它们通常构建的那样),这就是您所需要的。如果需要,可以将其读入字节数组(例如,使用
File.ReadAllBytes

听起来您只需要将旧的二进制文件保存在源代码管理中。

就像这样:

byte[] assemblyBytes = File.ReadAllByes(assemblyPath);
请注意,您必须首先加载依赖程序集