【问题标题】:How to get advantage from sgen.exe如何从 sgen.exe 中获得优势
【发布时间】:2014-04-07 08:09:56
【问题描述】:

我成功使用sgen.exe 创建了我的MyLibrary.XmlSerializer.dll 程序集,因为我想避免浪费时间进行“第一次”反序列化。

但是现在,怎么用呢?

我的意思是,我必须将MyLibrary.XmlSerializer.dll 放在哪里才能使用?如何确定?

谢谢!

【问题讨论】:

    标签: c# .net serialization deserialization sgen


    【解决方案1】:

    只需将它与您的 MyLibrary.dll 放在同一个文件夹中,如果它与您的 MyLibrary.dll 匹配,它将自动使用(例如,如果它已过时,它将不会被使用,您的库的每个新版本都需要一个新的 sgen 运行)。

    您可以检查它是否已使用 Process Explorer 等外部工具加载。在 Process Explorer 中,打开进程的属性窗口并检查“.NET Assemblies”选项卡。如果您的 MyLibrary.XmlSerializer.dll 已加载,它将在此处列出。

    但要小心:如果过期也会显示为已加载(当然,否则无法检查是否过期)。如果为 XML 序列化创建了一个临时程序集,该程序集也将在那里显示。通常它有一个随机名称(如“uki54k3f”)并且不显示路径。因此,如果您在创建 XmlSerializer 的实例后在您的程序集列表中有这样一个随机名称,则表明您的 Sgen 程序集未被使用。

    【讨论】:

    • 我应该在进程资源管理器中检查什么以确保 dll 已加载?
    猜你喜欢
    • 2021-06-02
    • 2019-03-14
    • 2013-05-29
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多