簡體   English   中英

當我在Visual Studio中創建項目引用時,我是否必須在部署時包含這些項目的DLL?

[英]When I make a project reference in Visual Studio, do I then have to include the DLLs for those projects when I deploy?

我有一個控制台應用程序和兩個類庫項目。

控制台應用程序必須投影對類庫項目的引用。

當我構建時,它會為這兩個項目生成DLL。 我是否必須將這些包含在我的控制台應用程序exe文件中? 有沒有辦法讓它成功,所以我不需要包括這兩個dll?

理想情況下,我想要一個單獨的exe。

您必須包含任何引用的程序集,因為它們是應用程序的依賴項。

盡管如此,Microsoft提供了一個名為ILMerge的工具,它允許您將依賴項程序集與可執行文件組合在一起,以創建一個可以發送給客戶的可包含的可執行程序集。

查看ILMerge

您可以使用ilmerge將程序集合並為一個程序集,否則您將必須部署exe文件和dll。 例如,你可以運行像這樣的命令

ilmerge /target:winexe /out:MyProg.exe Program.exe ClassLib1.dll ClassLib.dll

Visual Studio沒有提供內置的方法來執行此操作,因此您必須手動運行上述命令,作為Post Build事件,或手動將其添加到.csproj文件中。

您應該能夠通過選擇引用並將“復制本地”屬性設置為false來完成。

小心ILMerge並確保您了解走這條路線的性能影響。

暫無
暫無

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

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