嘿,我從 NET Framework 4.8 切換到 .NET 6.0
當我構建檔案時,它會輸出 build.exe (130kb) 和 build.dll (2.3mb)。所以看起來exe正在使用dll運行,因為dll里面有源代碼而.exe沒有。
是否可以僅在沒有 dll 的情況下構建 .exe?我嘗試使用 Costura Fody 資源嵌入器,但沒有用。
編輯:我能夠使用“發布”功能創建一個自包含的 exe,但檔案大小從 3mb 增加到 180mb exe……還有其他方法嗎?
uj5u.com熱心網友回復:
您可能想要一個依賴于單個檔案框架的部署,而不是“自包含”。這樣您就不必在部署包中包含所有框架檔案,而計算機必須已經安裝了框架。為此,請將部署設定中的部署模式從self contains更改為frameworkdependent。請參閱單檔案部署
您還可以查看“修剪”以洗掉不需要的依賴項,因為這應該會顯著減少自包含應用程式的大小。
uj5u.com熱心網友回復:
你的觀察是對的。
.exe
.NET 核心應用程式的檔案只是一個存根加載器。實際代碼在.dll
檔案中。對于應用程式專案,您現在擁有一個application.dll
和一個application.exe
.
除非您使用您提到的任何選項(部署為單個檔案),否則我認為沒有辦法解決這個問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/388591.html
上一篇:如何遞回洗掉具有特定擴展名的檔案