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

.NET 6控制台调用方法报System.Windows.Forms文件未找到如何解决

修复方案

问题根因

该报错是因为.NET 6 控制台项目默认未启用Windows桌面运行时支持,你之前手动引入的System.Windows.Forms.dll仅包含基础类型定义,方法调用时CLR需要加载完整的程序集依赖链却找不到对应版本的文件,这也解释了你可以正常创建对象,但调用方法时才抛出异常的现象。

操作步骤

  • 修改项目配置文件(.csproj)
    替换原有配置内容,示例如下:
    <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
      <PropertyGroup>
        <!-- 保留控制台输出能力,不要改为WinExe -->
        <OutputType>Exe</OutputType>
        <!-- 如需同时兼容.NET Framework 4.8可替换为 <TargetFrameworks>net6.0-windows;net48</TargetFrameworks> -->
        <TargetFramework>net6.0-windows</TargetFramework>
        <!-- 启用官方Windows Forms自动引用 -->
        <UseWindowsForms>true</UseWindowsForms>
        <Nullable>enable</Nullable>
      </PropertyGroup>
    </Project>
    
  • 清理无效引用
    删除你之前手动添加的第三方System.Windows.Forms.dll引用,修改完上述配置后,SDK会自动引入匹配版本的官方程序集,无需手动管理引用。
  • 重新生成项目
    清理解决方案,删除项目根目录下的bin、obj缓存文件夹后重新生成即可。

效果验证

修改完成后你的控制台项目会完整继承Windows Forms项目的程序集引用规则,同时保留控制台的输入输出能力,完全满足使用控制台模板开发的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:36:04