You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何简单C# WinForm程序在Visual Studio 2022中同时生成.exe与.dll?

为什么简单的C# WinForm项目会同时生成.exe和.dll文件?
  • 项目模板的默认结构
    VS2022的WinForm项目(尤其是.NET 5及以后的SDK风格项目)默认采用分离式输出设计:.exe是仅负责启动应用的入口程序,而.dll才是包含窗体、控件等核心UI代码的主程序集。这种设计是为了后续扩展方便——比如要复用UI组件给其他项目,直接引用.dll即可,不用牵扯启动逻辑。

  • SDK风格项目的编译规则
    从.NET Core开始,微软统一了项目结构为SDK风格,这类项目默认会把业务代码编译成.dll,同时生成一个轻量的.exe作为启动宿主。你可以对比两者的文件大小,.exe通常只有几十KB,它的作用就是加载对应的.dll并执行入口方法,真正的代码都在.dll里。

  • 如何生成单文件.exe?
    如果确实需要单个.exe文件,可修改项目的.csproj文件:

    1. 右键项目→编辑项目文件
    2. 在<PropertyGroup>节点内添加:
      <PublishSingleFile>true</PublishSingleFile>
      <SelfContained>true</SelfContained>
      

    注意:调试编译时仍会生成.exe和.dll(方便热重载和调试),上述设置仅在发布项目时生效,会打包成包含运行时的单文件.exe。

内容的提问来源于stack exchange,提问作者sumwunyumaynotno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 07:22:52