【问题标题】:Saving an Assembly as a byte array suitable for Assembly.Load将程序集保存为适合 Assembly.Load 的字节数组
【发布时间】:2011-06-07 13:33:52
【问题描述】:

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

public static Assembly Load(
    byte[] rawAssembly
)

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

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

【问题讨论】:

    标签: c# .net reflection assemblies


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      像这样:

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

      请注意,您必须先加载依赖程序集。

      【讨论】:

        猜你喜欢
        • 2013-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-24
        • 1970-01-01
        • 1970-01-01
        • 2016-09-13
        相关资源
        最近更新 更多