.NET 6.0在Visual Studio 2022(正式版)中未显示

44
我已经安装了.NET 6.0 SDK和Visual Studio 2022。然而,Visual Studio 2022没有提供选择.NET 6.0的功能。
我知道可以通过编辑项目文件来设置目标框架,请不要建议这样做。这个问题特别涉及到Visual Studio 2022的用户界面。

dotnet sdks

Visual Studio 2022 UI

编辑 1:

在 Visual Studio Installer 中为 Visual Studio 2022 选择了 .NET 6.0 运行时。

Visual Studio Installer

编辑2:

我可以创建.NET 6.0项目,但似乎无法将已经是.NET 5.0的现有项目定向到.NET 6.0。

New Project


6
有任何更新吗?我也遇到了同样的问题。我安装了VS 2022,选择了.NET 6.0 Runtime和.NET SDK。我甚至去.NET下载站点下载并安装了SDK。但是,在目标框架下拉菜单中没有显示.NET 6,并且当我手动转换一个项目时,VS告诉我不支持.NET 6。我目前的猜测是这可能与某个全局的json文件有关,但我需要找出它在哪里。 - Steve Hiner
2
奇怪的是,.Net 6在新项目对话框中确实显示出来了。我能够使用6.0创建一个新的ASP.Net项目。在这个新项目中,.Net 6列在目标框架下拉菜单中,并且该项目将被构建。切换回现有的ASP.Net项目,.Net 6.0不再出现在目标框架下拉菜单中。 - Steve Hiner
6个回答

24

如果你的解决方案中有一个global.json文件,你可以删除它或更新sdk版本到最新版本。在回答这个问题时,最新的.NET版本是6.0.0,sdk版本为6.0.100(最新的sdk版本可以在你下载sdk的dotnet core网站上找到)。

{
    "sdk": {
        "version": "6.0.100"
    }
}

如何确认您的SDK版本

完成此操作后,"卸载"并"重新加载"您的项目,最新的.NET Core目标将显示在下拉菜单中。


3
这在我的情况下也是解决方案。请记住,global.json文件不一定要放在与.csproj文件相同的目录中,它也可以放在更高的目录(例如,在我这种情况下,它放在.sln文件所在的级别上),因此我一开始没有看到它。 - Andi
2
这是答案。我们有一个针对.NET 5的global.json文件。 这样做是为了在进行自动化构建时,我们的构建代理程序使用正确的SDK。将其更新为6.0.100现在允许在VS2022中选择.NET 6.0。非常感谢@Anup! 答案非常实用。 - Oliver
1
它对我没有帮助。 - Win4ster

11
我想知道是否和我一直在努力解决的问题相同——你无法将不在'sdk'格式下的现有项目改为net 6。但是有一个升级助手可以帮助你进行转换。
请参阅https://learn.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-winforms-framework
你需要安装升级助手:
dotnet tool install -g upgrade-assistant

安装完成后,您可以分析您的项目。
cd "C:\your solution path"
upgrade-assistant analyze yourProject.csproj

或者通过以下方式升级:

cd "C:\your solution path"
upgrade-assistant upgrade yourProject.csproj

这位助手将会引导您完成这些步骤。


1
这对于升级现有项目是很好的。之后,你可以在控制台中使用 upgrade-assistant 命令行界面。然而,在我的情况下,它没有起到帮助作用,因为助手运行时出现了问题。 - Matt
更新:我花了一些时间,但是我成功地使用“upgrade-assistant”升级了一个旧的WinForms项目 - 重要的是要理解它会引导你通过几个步骤(就像工作流程),并且你需要审查每个步骤。如果完成了,可以按“1”继续下一步 - 直到工作流程完成。这样我就能让它正常工作了,现在该项目已经运行在.NET 6上了。CLI命令只是用于安装助手,在安装后运行“upgrade-assistant /?”以查看可用选项。您必须指定一个项目或解决方案。 - Matt
1
我尝试使用upgrade-assistant工具升级.NET Framework 4.6.1。该工具将项目升级到了netstandard20。你有遇到同样的问题吗? - wonderful world
@wonderfulworld,对我来说也是同样的情况,它升级到了netstandard20,之后我就无法更改目标框架了。你找到解决方案了吗? - Ajay Kopperla
当我们使用升级助手工具时,它会创建两个项目,一个带有备份,另一个是正常的。在我的情况下,正常的项目具有netstandard20,而备份指向net60。 - Ajay Kopperla
显示剩余2条评论

8
在安装Visual Studio时,您需要选择".NET 6.0 Runtime"。如屏幕截图所示,此选项不仅包括运行时本身,还包括“用于开发…….NET 6.0应用程序的模板”

screenshot

你可以通过从Windows开始菜单启动"应用和功能"或从Visual Studio菜单栏选择工具/"获取工具和功能..."来修改你的安装。

3
谢谢,这个值已经在Visual Studio安装程序中设置好了。 - Oliver
1
@Oliver:奇怪。你能在VS 2022中创建一个新的.NET 6项目吗? - Heinzi
3
我可以创建.NET 6.0的项目,但似乎无法将目标框架从.NET 5.0更改为.NET 6.0。 - Oliver
@Oliver:嗯,它在我的机器上运行良好,所以你可能发现了一个错误。如果你感到慷慨,你可以报告它。我个人报告VS错误的经验是参差不齐的:有时它们会很快被修复,有时则会被忽略多年。 - Heinzi
2
在新的电脑上,我已经安装了VS Enterprise LTS 2022。在安装程序中,我选择了.NET 5和.NET 6运行时。此外,我还安装了x64的.NET SDKs 3.1、5.0和6.0。但是我仍然看不到.NET 5和.NET 6。我错过了什么? - Matt
显示剩余5条评论

2
我在使用 upgrade-assistant 时遇到了这个问题。它已升级到 netstandard20。作为迁移的一部分,它还创建了备份项目。当我打开备份项目时,它指向 net60。
此外,您可以打开项目文件并将其目标设置为 net6.0。如果不立即反映,请尝试卸载和重新加载项目。

1

如果其他答案都不起作用,请仔细检查您是否在旧版Visual Studio中打开了项目。我已经安装了VS 2022,但是当我双击.sln文件时,默认的还是VS 2019。我只安装了.NET 6用于2022。


是的,如果您有并行安装,则会安装来自Microsoft的“Visual Studio版本选择器”应用程序,您可以在打开SLN文件时选择要使用的版本。如果您选择旧版本,则VS会记住它并每次打开旧版本的VS - 导致像这样的麻烦。 - Matt

0

我安装了VS 2022,但无法创建任何.NET 6应用程序。我试图创建一个C# .NET 6控制台应用程序,但是VS只允许/显示.NET框架版本高达4.8。

我可以编辑和构建其他人创建的.NET 6解决方案,但是我无法使用我的VS 2022 v17.2.6自己创建一个。


2
原来我可以创建一个.NET 6控制台应用程序。我之前使用的是“控制台应用程序(.NET Framework)”选项,而应该使用“控制台应用程序”选项。 - Mark Di Val

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