Visual Studio 2017未列出Asp Net Core 2.1目标框架求助
我之前碰到过和你完全一样的状况,折腾了好一阵才搞定,分享几个亲测有效的解决步骤,你可以逐一尝试:
检查VS的.NET Core组件是否安装完整
打开Visual Studio Installer,选择「修改」,切换到「单个组件」标签,找到「.NET Core 2.1开发工具」(或类似名称的组件),确认它已经被勾选。很多时候我们单独装了SDK,但VS对应的集成组件没装,就会导致目标框架列表不显示。修复Visual Studio安装
同样在VS Installer里,选择「修复」选项,让安装程序自动修复可能损坏的配置文件或组件。这个操作虽然耗时,但经常能解决各种VS识别SDK的奇怪问题。手动更新VS的目标框架配置文件
找到VS安装目录下的Microsoft.NET.TargetFrameworkVersions.props文件,路径大概是:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\v15.0\DotNet\Microsoft.NET.TargetFrameworkVersions.props
(如果是Professional/Enterprise版本,把路径里的Community替换成对应名称即可)
用记事本或VS打开这个文件,检查是否有<TargetFrameworkVersion Include="netcoreapp2.1" />的条目,如果没有,手动添加到对应的<ItemGroup>里,保存后重启VS。验证SDK的系统注册信息
先打开PowerShell执行dotnet --list-sdks,确认2.1版本的SDK确实存在。
然后打开命令提示符,执行以下命令检查注册表注册情况:reg query "HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x64\sharedhost" reg query "HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\sharedhost"如果输出里没有2.1相关的版本信息,建议卸载当前的2.1 SDK,然后重新下载安装,安装时选择「修复」选项。
清理VS缓存
完全关闭Visual Studio,删除以下目录的缓存文件:%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_*\ComponentModelCache%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_*\Temp
(*是你的VS实例ID,直接删除对应目录即可)
重启VS后再查看目标框架列表。
如果以上方法都无效,建议尝试卸载当前的VS2017 15.7.2,安装15.9.x版本(这是VS2017的最后一个稳定版本,对.NET Core 2.1的支持更完善),安装时务必勾选所有.NET Core相关的开发组件。
内容的提问来源于stack exchange,提问作者Deadpool

