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

Visual Studio 17.6.2运行.NET7控制台程序需WSL且报错的解决问询

问题分析与解决方案

一、为什么升级后需要WSL?

VS 17.6.2版本对.NET控制台项目的默认调试配置做了调整:

  • 你的项目在升级后,目标运行环境可能被默认设为Linux,或者调试配置里指定了用WSL作为运行载体。
  • 也可能是VS的跨平台调试功能被自动启用,导致程序优先尝试在WSL环境运行,而非Windows本地。

二、为什么控制台程序不弹出独立窗口?

当你把目标OS设为Windows后,程序仍在VS Output窗口运行,是因为:

  • 项目调试配置中的**“控制台类型”被设置为“仅输出”**,VS会将程序输出定向到内置的Output窗口,而非启动外部独立控制台。

三、具体解决步骤

1. 修复WSL安装失败(错误0x80370114)

该错误核心原因是虚拟化功能未启用或Windows相关组件缺失,按以下步骤处理:

  • 启用Windows功能:打开「控制面板→程序→启用或关闭Windows功能」,勾选「适用于Linux的Windows子系统」和「虚拟机平台」,重启电脑。
  • 开启BIOS虚拟化:重启电脑进入BIOS(按Del/F2等键,依主板品牌而定),找到CPU设置中的「Intel VT-x」或「AMD-V」选项,设置为启用状态,保存后重启。
  • 更新WSL内核:以管理员身份打开PowerShell,执行命令:
    wsl --update
    
    完成后再尝试安装发行版:
    wsl --install Ubuntu-22.04
    

2. 让控制台程序在Windows本地弹出独立窗口

按以下步骤调整项目配置:

  • 右键项目→「属性」→「应用」,确认「目标操作系统」选择为Windows。
  • 切换到「调试」标签页,将「控制台类型」修改为外部控制台。
  • 若上述操作无效,直接编辑项目下Properties/launchSettings.json文件,找到对应配置节点,将"console"字段值改为:
    "console": "externalTerminal"
    

3. 彻底避免依赖WSL运行项目

如果不需要跨平台调试,可直接锁定Windows运行环境:

  • 打开项目的.csproj文件,添加或修改以下配置,强制项目针对Windows编译:
    <PropertyGroup>
      <TargetOS>Windows</TargetOS>
    </PropertyGroup>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 14:22:21