簡體   English   中英

.NET程序集依賴項

[英].NET Assembly Dependencies

也許我錯過了一些明顯的東西,但......

我已經構建了一個可重用的通用C#類庫項目說(A.dll)引用其他3個程序集說(B.dll,C.dll和D.dll)

但是,如果我想在另一個項目中重用我的組件A.dll,我仍然需要包含對B.dll,C.dll和D.dll的引用。

有沒有什么辦法可以配置A.dll來構建它的所有依賴項到A.dll所以我不必包含其他3個程序集?

干杯

可以使用ILMerge工具合並程序集:

C:\Program Files\Microsoft\ILMerge\ILMerge.exe /target:library /out:abcd.dll a.dll b.dll c.dll d.dll"

這將合並的dll abcdabcd.dll 它還將合並調試符號,但不合並XML文檔。

此外,您必須在新項目中引用dll本身,而不是相應的項目。 例外情況是,如果將庫合並到可執行文件中,在這種情況下,您可以引用相應的庫/項目,因為它們將加載可執行文件。

Mono項目也有一個工具,稱為mkbundle。

還有ILRepack ,它旨在與ILMerge兼容,但是FLOSS。

這類似於DLL的靜態鏈接,可以與原生C ++一起使用。 據我所知,你不能靜態鏈接.NET代碼中的程序集,因此你必須包括所有的DLL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM