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

3

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

public static Assembly Load(
    byte[] rawAssembly
)

如何将程序集保存为字节数组以便像这样创建它?

背景:我想编写一个测试工具,以确保服务的向后兼容性。我想在我的工具中加载客户端的旧版本,并从许多不同的版本调用服务。我认为将旧版本保存为byte[]数组可以使它们冻结。

2个回答

5

如果你有旧版本的文件(就像它们通常构建的那样),那么这就是你需要的全部。如果需要,你可以将它们读入一个字节数组中(例如使用File.ReadAllBytes)。

听起来你只需要在源代码控制中保留旧的二进制文件。


1

像这样:

byte[] assemblyBytes = File.ReadAllByes(assemblyPath);

请注意,您必须先加载相关程序集。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接