我有2個.net dll,我使用REGASM公開給COM。爲了簡化COM客戶端內的引用,我希望將這些內容合併到一個文件中。將兩個.IDL文件或兩個.tlb文件合併到一個文件中
我已經嘗試將兩個文件轉換爲IDL,然後將其中一個庫的部分內容複製到另一箇中,然後使用MIDL編譯回.tlb。這對於第二個IDL中的TypeDefs來說工作得很好,但是當它涉及到我複製的接口時它似乎失敗了.OLE/COM查看器可以看到接口定義,但是當我嘗試通過COM使用TLB時,找不到接口我複製了。
我想確保在我花費太多時間之前,實際上可以通過這種方式微薄的IDL。
嗨米奇,這似乎是一個不錯的選擇,但是當合並DLL的我得到一個錯誤 「合併期間發生異常:ILMerge.Merge:程序集'Sim.Common'沒有正確合併。仍然列爲目標程序集中的外部引用。 at ILMerging.ILMerge.Merge() at ILMerging.ILMerge.Main(String [] args)「 我在猜測這是因爲第一個dll引用了第二個dll一個在源代碼中。但是這個參考是必需的。 – Jambobond 2010-08-09 11:33:20
好吧,我用固定上述問題的/關閉選項,但現在我似乎無法使用regasm創建新的dll。我收到一個錯誤「RegAsm:error RA0000:不支持給定路徑的格式。」 任何想法? – Jambobond 2010-08-09 11:55:33
@Jambobond:我從來沒有組合過2個.NET程序集,然後試圖重新獲得它們。 – 2010-08-09 12:05:23