运行与编译
IDE 操作 · 运行、日志、编译与工程配置
本页说明如何在 LCode 中运行与编译项目、查看程序输出,以及切换 Debug/Release、目标框架、输出类型、图标与管理员提权等工程侧配置。菜单文案以中文界面为准;开发阶段优先用「运行」,交付前再切 Release 编译。
运行项目
日常改代码、看界面效果时,请用运行,而不是先单独「编译」再到处找 exe。启动前请确认当前启动项目是可执行项目(Windows 应用程序或控制台),类库不能单独启动。
| 界面操作 | 菜单 / 入口 | 快捷键 | 说明 |
|---|---|---|---|
| 运行 | 调试 → 运行;工具栏运行按钮;项目浏览器右键 运行项目 | F5 | 先编译再启动启动项目。当前 LCode 内置运行器会启动进程并把标准输出收到「程序输出」面板,并非完整调试器会话。 |
| 运行(不调试) | 调试 → 运行(不调试) | Ctrl+F5 | 不附着调试器地运行;适合只想看程序行为时使用。 |
| 运行最后一次成功生成 | 调试 → 运行最后一次成功生成 | Ctrl+Shift+F5 | 跳过重新编译,直接运行上次成功生成的输出。 |
日志
程序运行时,标准输出与标准错误会汇总到底部输出面板的程序输出类别。建议用 Console.WriteLine 写调试日志(面向 C# 5.0 / .NET 4.8,勿用字符串插值):
Console.WriteLine("hello");
Console.WriteLine("hello")
窗体应用同样可以把 Console.WriteLine 打到「程序输出」。若使用 Debug.WriteLine、Trace.WriteLine、自定义日志框架或仅弹窗不写控制台等方式,在 LCode 当前运行器下可能看不到对应文本——暂不支持,待更新完善。需要在 LCode 里稳定看日志时,请用 Console.WriteLine。
断点调试
菜单中虽有调试 → 设置断点等项,但当前内置调试器对断点命中、单步(逐语句 / 逐过程 / 跳出)、中断与继续等能力暂不支持,待更新完善。请不要依赖断点排查逻辑;开发期用运行 + Console.WriteLine(见「日志」)定位问题。
编译项目
需要生成可分发的 exe/dll、或确认整解决方案能否通过时,使用菜单编译。发布与打包前请先完成编译并检查错误列表。
| 命令 | 菜单路径 | 快捷键 | 作用 |
|---|---|---|---|
| 编译解决方案 | 编译 → 编译解决方案 | F8 | 按依赖关系编译解决方案内各项目 |
| 重新编译解决方案 | 编译 → 重新编译解决方案 | Alt+F8 | 清理后完整重编整个解决方案 |
| 编译当前项目 | 编译 → 编译 <项目名> | F9 | 只编译当前活动项目 |
| 重新编译当前项目 | 编译 → 重新编译 <项目名> | Alt+F9 | 清理后重编当前项目 |
| 清理 | 编译 → 清理解决方案 / 清理 <项目名> | — | 删除中间文件与输出,不生成新产物 |
| 放弃编译 | 编译 → 放弃编译 | Pause | 取消正在进行的编译 |
Debug vs Release
工具栏配置下拉框,或菜单编译 → 项目选项设置,可在 Debug 与 Release 间切换(亦可编译 → 编辑配置/平台管理配置)。
- Debug — 默认输出到项目下
bin\Debug\,带较完整调试符号、通常不优化;日常开发、运行调试用此配置。 - Release — 默认输出到
bin\Release\,偏向优化、调试信息更少;对外发布、交付安装包前请选 Release 再编译。
切换配置后请重新编译,再从对应输出目录取 exe/dll。不要把 Debug 目录里的文件直接当正式发布物。
切换目标框架 / 输出类型
在项目浏览器中右键项目 → 项目选项…(或菜单项目 → 项目选项…),按页签修改:
- 目标框架 — 选择 .NET Framework 版本(本手册面向 v4.8)。改完后重新编译;若引用了更高版本程序集,需保持框架兼容。
- 输出类型(「应用程序」页)— 界面可选:
- Windows应用程序(
WinExe)— 窗体 EXE - 控制台应用程序(
Exe)— 控制台 EXE - 类库(
Library)— DLL,不能作为启动项目单独运行
- Windows应用程序(
把类库改成窗体应用时,还需具备入口(如 Main / Program)与窗体文件,并重新设为启动项目;仅改输出类型不够。操作入口以 LCode「项目选项」实际页签为准。
应用图标与程序信息
同样在项目选项中配置:
- 应用程序页 — 应用程序图标:指定
.ico文件,作为 exe 图标;程序集名称决定输出文件主名(如MyApp.exe)。 - 程序集信息页 — 标题、说明、公司、产品、版权、程序集版本与文件版本等;对应项目中的
AssemblyInfo.cs/AssemblyInfo.vb(若提示未找到该文件,请确认项目里已包含)。
修改后重新编译,再在资源管理器中查看 exe 属性或文件图标是否更新。
管理员身份运行(提权)
若程序需要管理员权限(写受保护目录、装驱动等),通过应用程序清单声明 UAC 级别,而不是在菜单里临时「以管理员运行 LCode」。
- 打开项目选项 → 应用程序。
- 找到应用程序清单下拉:可选「嵌入带默认设置的清单」「创建不带清单的应用程序」,或指定自定义清单文件(
.manifest)。 - 提权时请使用自定义清单文件,并在清单中设置执行级别,例如:
将该<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />.manifest加入项目后,在「应用程序清单」中选中该文件并保存。 - 重新编译。用户双击 exe 时会弹出 UAC 提升提示。
requireAdministrator;日常开发用标准用户权限即可。
输出目录
编译成功后,可执行文件与 DLL 位于项目的输出路径(「项目选项 → 编译 / 输出」中的输出路径)。新建项目时 LCode 默认为:
Debug配置 → 项目目录下bin\Debug\Release配置 → 项目目录下bin\Release\
在资源管理器中打开解决方案文件夹 → 进入对应项目文件夹 → 再进入 bin\Debug 或 bin\Release,即可找到 .exe(窗体/控制台)或 .dll(类库)。文件名默认与程序集名称一致。
- 看了
bin\Debug却在Release配置下编译(或相反)。 - 打开了解决方案根目录,却进了另一个项目的
bin。 - 把中间目录
obj\当成最终输出(请用bin\…)。 - 输出路径在「项目选项」里被改过,不再是默认的
bin\Debug\/bin\Release\——以选项中的输出路径为准。
images/build-output-dir.png,可后补。
相关阅读
- 解决方案与项目 — 启动项目、多项目分别编译
- 文件与编辑器 — 改代码与设计器后再运行
- C# / VB.NET 窗体应用入门 — 从新建到第一次运行
- DLL 动态链接库开发入门 — 类库输出与引用