[英]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.