Dotnet core Console调用WIndows.Forms的MessageBox提示
1.ET介绍——强大的基于.dotnet7+Unity3d的双端C#开源游戏框架2.ET介绍——为什么使用C# .net core做服务端?3.ET介绍——CSharp协程4.ET介绍——C#更好的协程5.ET介绍——单线程异步6.ET介绍——强大的MongoBson库7.ET介绍—— 一切皆实体的设计8.ET介绍——事件机制EventSystem9.ET介绍——组件式设计(优化版的ECS)10.ET介绍——分布式Actor模型11.ET介绍——Actor Location12.ET介绍——数值组件设计13.ET介绍——浅谈AI框架14.ET介绍——更为便捷高效的AI框架-行为机(Behavior Machine)15.ET8开发微信小游戏之部署云服务器Nginx代理16.浅谈ET框架--ECS设计核心(一)
17.Dotnet core Console调用WIndows.Forms的MessageBox提示
最近想把ET打表工具的报错提示直接调用win系统弹窗,好让策划明显的知道表格哪里填错数据,弹窗需要调用System.Windows.Forms库。操作如下:
需要在 .csproj 文件中添加:
<UseWindowsForms>true</UseWindowsForms>
须将目标平台设置为 Windows
修改之后,还是报错:
如果使用 Windows 窗体或 WPF,或者引用使用 Windows 窗体或 WPF 的项目或包,则必须将目标平台设置为 Windows
需将 .csproj 文件中的
<TargetFramework>net8.0</TargetFramework>
修改为:
<TargetFramework>net8.0-windows</TargetFramework>
修改后的 .csproj 文件
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net8.0-windows</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <UseWindowsForms>true</UseWindowsForms> </PropertyGroup> </Project>
打表抛异常/控制台显示报错的地方改成弹窗提示即可
EmitResult emitResult = compilation.Emit(memSteam); if (!emitResult.Success) { StringBuilder stringBuilder = new StringBuilder(); foreach (Diagnostic t in emitResult.Diagnostics) { stringBuilder.AppendLine(t.GetMessage()); } MessageBox.Show($"动态编译失败:\n{stringBuilder}"); throw new Exception($"动态编译失败:\n{stringBuilder}"); } memSteam.Seek(0, SeekOrigin.Begin);
再次执行
dotnet run
就能正常运行了,可以看到弹窗信息。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器