【问题标题】:Merge references into output .dll C#将引用合并到输出 .dll C#
【发布时间】:2012-09-06 17:08:47
【问题描述】:

我最近尝试这样做但没有成功,我希望有新的反馈来帮助我澄清问题。

我的项目具有以下结构。

参考资料:

  • DocX.dll
  • PDFClown.dll
  • PdfSharp-WPF.dll
  • PdfSharp.Charting-WPF.dll

类:

  • IDocument
  • PDF : IDocument
  • PdfParser
  • 文本:IDocument
  • 字:IDocument

输出:

  • TextReader.dll

我尝试使用以下方法合并:

ILMerge:重复类型“Project.IDocument”

带有 /internalize 标志的 ILMerge:重复类型“Project.IDocument”

带有 /allowDup 标志的 ILMerge:向空间名称添加一个随机数(例如 Project79859.Pdf),外部项目引用表示即使更改后也找不到空间名称。

Jeffrey Richter 方法 (http://bit.ly/bDPbh3):似乎只适用于可执行输出。

欢迎任何想法或建议。提前致谢。

PS。目标项目像现在一样工作,未嵌入 5 个 dll,但规范只需要 1 个 dll。

【问题讨论】:

  • 在所有这些程序集中搜索IDocument 的定义。我假设有人试图变得聪明并使用相同的命名空间/类型名称组合来使包装器透明。
  • 我想您正试图将 4 个引用合并到您的输出程序集中?你能显示你正在使用的完整的 ilmerge 命令吗?

标签: .net merge ilmerge


【解决方案1】:

将程序集嵌入到资源中,并在需要时使用反射从内存中加载它们。

【讨论】:

    猜你喜欢
    • 2013-08-03
    • 1970-01-01
    • 2018-03-25
    • 2011-05-20
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    相关资源
    最近更新 更多