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

.NET(Core)WinForms生成DLL原因及EXE文件名修改问询

.NET WinForms程序的EXE原始文件名及DLL生成问题

修改EXE的原始文件名

.NET Core及后续版本的WinForms项目,默认生成的EXE是轻量启动器,实际业务逻辑在同名DLL中,因此EXE的原始文件名会指向该DLL。要修改为EXE自身名称,有两种方式:

  • 通过VS界面设置:右键项目 → 属性 → 应用程序 → 点击“程序集信息”按钮,在弹出窗口中修改“原始文件名”为WinFormsApp2.exe,保存后配置会自动同步到项目文件。
  • 直接编辑.csproj文件:在<PropertyGroup>节点中添加或修改以下配置:
<OriginalFilename>WinFormsApp2.exe</OriginalFilename>

确保<AssemblyName>也设置为WinFormsApp2,保证EXE文件名和原始文件名一致。

实现无独立DLL的发布效果

.NET Framework的EXE是自包含的程序集,而.NET Core+默认采用框架依赖的拆分结构(启动器EXE+业务DLL)。要实现类似.NET Framework的单EXE输出,可通过单文件发布完成:

  • VS界面操作:右键项目 → 发布 → 选择“文件夹”作为发布目标 → 进入“发布配置文件设置”,勾选“生成单个文件”选项,按需选择是否包含.NET运行时(自包含模式),最后执行发布即可。
  • 项目文件配置:在<PropertyGroup>中添加以下配置,发布时会自动打包为单EXE:
<PublishSingleFile>true</PublishSingleFile>
<!-- 若要包含运行时,无需依赖系统已安装的.NET,添加下面一行 -->
<SelfContained>true</SelfContained>

注意:开发调试阶段仍会生成DLL,这是为了支持调试工具的程序集加载,属于正常设计;发布后的单EXE则和.NET Framework的输出结构一致,无独立DLL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 00:40:43