Visual Studio 17.6.2 需要 WSL 才能运行控制台应用程序。

3

我刚刚安装了Visual Studio Community Edition的新版本(版本17.6.2)。现在,我有一个使用NET7的控制台应用程序项目。通常情况下,我可以运行这个控制台应用程序,并且它会在一个普通的shell窗口中运行。

升级后,控制台应用程序需要WSL(Windows子系统Linux)。为什么?现在,Visual Studio显示了一个错误弹出消息:

enter image description here

点击 确定,它会打开 Microsoft Store,然后我点击 Debian

enter image description here

几秒钟后,在 PowerShell 窗口中,我收到了以下消息:

WslRegisterDistribution 失败,错误代码为:0x80370114

错误信息:0x80370114,无法启动操作,因为未安装所需功能。

enter image description here

因此,我打开一个新的 PowerShell 窗口,尝试手动安装 Linux 发行版。

wsl --list
wsl --list --online
wsl --install Ubuntu-22.04

但我再次遇到了同样的错误。

enter image description here

这是项目属性

enter image description here

第一个问题:为什么我无法像往常一样运行控制台应用程序?然后,为什么我需要WSL(无论如何我都已安装)?我该如何解决这个问题?

更新

如果在项目属性中选择目标操作系统为Windows,则应用程序仍在输出窗口中运行。基本上,Visual Studio不会打开一个提示窗口来运行应用程序。

enter image description here

选项

选项下的环境中的终端默认为Developer PowerShell

enter image description here


你确定你没有创建针对WSL的项目或调试配置吗? - orhtej2
1
我在6个月前创建了这个项目,并且它在一个普通的命令提示窗口中运行。我刚刚添加了控制台应用程序属性的截图。 - Enrico
尝试将目标操作系统更改为“无”? - Dave S
你能检查一下默认终端设置吗?工具 => 选项 => 环境 => 终端。也许WSL被设置为默认终端,而你想要的是PowerShell。 - Lennart
你能检查一下默认终端设置吗?工具 => 选项 => 环境 => 终端。也许默认终端设置为WSL,而你想要的是PowerShell。 - undefined
@Lennart 默认是开发人员 PowerShell。我添加了一张截图。 - Enrico
2个回答

1

定位放置在项目文件夹下的launchSettings.json文件,位于子文件夹"Properties"中。

然后编辑该文件并删除以下一系列行:

> "WSL": {
>       "commandName": "WSL2",
>       "distributionName": ""
>     },

-1
你好,错误信息表明你没有成功安装/启用wsl。
为了解决错误WslRegisterDistribution失败,错误代码为:0x80370114 你需要打开Windows功能中的"虚拟机平台"选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接