【问题标题】:Include specific assembly types in other assemblies [duplicate]在其他程序集中包含特定程序集类型 [重复]
【发布时间】:2014-06-12 15:00:20
【问题描述】:

所以我有了这个庞大的解决方案,其中包含 50 多个项目和数千个源文件。其中一个项目的命名空间看起来像这样nslevel1.nslevel2.nslevel3,包含一个接口interface1。然后在另一个项目中,我引用第一个项目并实现interface1,假设该类称为class1

这两个项目的输出类型是类库。

现在我想给我的同事第二个项目的*.dll 文件,以便他可以重用我的代码。为此,我还必须给他第一个项目*.dll 文件,因为由class1 实现的interface1 是在第一个项目中定义的。

现在我的问题是:我能否设法只给我的同事一个 .dll 文件。我真的需要将interfac1class1 保留在不同的程序集中,如果不是这样,将interface1class1 放在同一个程序集中就可以解决问题。

【问题讨论】:

  • 所以您想为您的同事提供一个 DLL,但您希望这些类型位于不同的程序集中?这只是没有意义的要求。您可以从两个程序集开始,然后将它们合并为一个程序集(搜索 ilmerge)...您的意思是这样吗?
  • 我只是想知道是否有任何理论上的方法可以做到这一点。显然有。好的谢谢。但我不明白投票反对的意义何在。如果我知道这个问题的答案或任何解决方案,为什么我会在这里问这个问题。任何方式感谢您的评论
  • @Dima:要明确一点,反对票不是我的。

标签: c# .net .net-assembly


【解决方案1】:

您可以ILMerge 生成的源文件。这将允许您将 IL 混合到一个文件中。

由于它们需要作为单个 dll 分发,并且根据每个项目文件结构的复杂程度,您还可以创建一个新项目并使用“添加现有”对话框“添加为链接”所有文件来自两个项目,生成一个 dll,这两个项目合并为一个。

【讨论】:

    猜你喜欢
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 2013-02-19
    • 2011-02-12
    • 1970-01-01
    相关资源
    最近更新 更多