在 Visual Studio 2019 中找不到 .NET 5.0 控制台应用程序项目模板
Posted
技术标签:
【中文标题】在 Visual Studio 2019 中找不到 .NET 5.0 控制台应用程序项目模板【英文标题】:Cannot find .NET 5.0 Console App project template in Visual Studio 2019 【发布时间】:2021-07-28 04:32:23 【问题描述】:我目前正在尝试在 Visual Studio 2019 中创建一个 C# .NET 5.0 控制台应用程序,但该选项没有像我预期的那样出现在项目模板下。
我下载了 Visual Studio Professional 2019 版本 16.9.4(来自 https://visualstudio.microsoft.com/downloads/)并选择了所有要安装的工作负载,然后我安装了 SDK 5.0.202、ASP.NET Core Runtime 5.0.5、.NET Desktop Runtime 5.0。 5 和 .NET 运行时 5.0.5(来自 https://dotnet.microsoft.com/download/dotnet/5.0)。
当我转到文件 -> 新建 -> 项目并搜索“控制台应用程序”时,C# 没有默认的“控制台应用程序”项目模板。我能找到的最接近的是 C#、VB 和 F# 的“控制台应用程序 (.NET Framework)”和 C++ 的“控制台应用程序”。如果我为 C# 选择“控制台应用程序(.NET Framework)”,我可以选择的最新框架是“.NET Framework 4.8”。
实际结果:项目模板
实际结果:框架
我与没有遇到此问题的开发人员进行了比较,当他们为 C# 选择“控制台应用程序(.NET 框架)”时,他们看到了相同的框架限制,但也能够看到项目模板“控制台应用程序”用于 C#(没有“.NET Framework”),并按预期选择“.NET 5.0(当前)”作为目标框架。他们安装和更新的内容似乎没有明显不同,我们对命令提示符命令“dotnet --info”的结果匹配,并且他们没有在“关于”下列出任何“已安装产品”或在“个人组件”下列出我缺少的安装程序。
预期结果:项目模板
预期结果:框架
我已尝试卸载并重新安装所有内容,彻底安装每个工作负载以及看起来可能相关的其他单个组件,并确保“工具 -> 选项 -> 环境 -> 预览功能 -> 显示所有 .NET Core “新建项目”对话框中的模板(需要重新启动)”复选框已选中。
有谁知道我遗漏了什么步骤阻止我使用 .NET 5.0 在 C# 中创建控制台应用程序项目模板?
【问题讨论】:
你可以试试这个建议:***.com/questions/67367636/… @Richard Chang,根据我的测试,如果我安装工作负载 .NET 桌面开发 和单个组件 .NET,我可以创建 .net 5 控制台项目5.0 运行时。另外,如果你有寺庙,请选择所有语言到c#,所有项目到控制台再次检查。 @AlbertD.Kallal 我试过了,但没有解决问题。 @JackJJun-MSFT .NET 5.0 运行时在各个组件中进行了检查,为了详尽无遗,我检查了所有工作负载,包括 .NET 桌面开发。当我将过滤器设置为 C# 和 Console 时,出现的唯一项目模板是“Console App (.NET Framework)”和“Workflow Console Application”。 @NPinheiro 我实际上已经尝试选择所有这些(为重复项选择最新的),即使这样也不能解决问题。除此之外,我尝试在新虚拟机上进行常规安装,但问题没有发生(确实出现“控制台应用程序”),所以这不是我选择安装的问题,而是特别是我的机器中的一些配置问题。 【参考方案1】:背景——微软有意选择的这个改变/破坏问题你可以阅读更多here和issue reported here但是你可以用下面列出的2个选项来解决这个问题,即A)启用它 em> OR B) 通过修复工具将其添加到 VS
建议清除 VStudio Cache's -- 在重新/启动 VS 之前杀死 dev process
和 clear cache
在 powershell 中以 admin 身份运行此 cmd
Get-Process devenv | Foreach-Object $_.CloseMainWindow() | Out-Null
然后
DELETE
ItemTemplatesCache,ProjectTemplatesCache 文件夹条目。教授等等。C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE.
现在请继续执行这些步骤/选项
选项 1: 您可能必须
enable
这个选项...
Tools > Options > Preview Features > “Show all .NET Core templates in the New project dialog (requires restart)”.
选项 2:
Install
通过 Visual Studio Installer
就像这样..
您可以使用 repair VS 安装缺少的工作负载(这也将更新安装程序)并确保检查您选择的可选包想要从 VS Installer 工具请看this
安装程序启动后,检查是否为桌面和控制台选择了 .NET Core 工作负载。如下所示。在右侧窗格中,您需要选中正确的框
清除 Visual Studio 组件缓存(和可选的所有模板)
现在,如果您已经按照上述步骤进行操作,那么在 Visual Studio 安装程序中验证您是否选中了右上角的“.net-Desktop development”复选框:删除缓存并恢复强>
即您可以在 VS2017/2019 中 restore the template
然后再试一次。
杀死开发进程首先运行这个
Get-Process devenv | Foreach-Object $_.CloseMainWindow() | Out-Null
请参考以下步骤:
DELETE
ItemTemplatesCache
、ProjectTemplatesCache
文件夹 Ent.
或 Prof
。版本等。C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE.
& C:\Users\<USERNAME>\AppData\Local\Microsoft\VisualStudio\16.0_93de0ddd
在命令提示符下,导航到 devenv.exe 的位置。此文件位于 \Common7\IDE 中。
键入/运行此命令 devenv /installvstemplates
并按 Enter。
仅供参考 - 您的 templates cache 在这里,包含以模板文件夹中存档的 zip 文件命名的文件夹。
您需要管理员权限才能进行编辑/delete
。
//templates cache Microsoft
%AppData%\Microsoft\VisualStudio\some_version\ItemTemplatesCache\
//用于验证、修复/重装或删除的模板路径
%USERPROFILE%\Documents\Visual Studio 2019\Templates\ProjectTemplates
%USERPROFILE%\Documents\Visual Studio 2019\Templates\ItemTemplates
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\<edition>\Common7\IDE\ItemTemplates\
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\<edition>\Common7\IDE\ProjectTemplates\
选项 3: 调试您的环境。 Template Config folder
检查/诊断版本:
运行这个
dotnet --version
安装正确的核心版本https://dotnet.microsoft.com/download/dotnet/5.0
更多here 这个dotnet new -u
会告诉你安装了哪些模板,你可以卸载,清除包缓存,重启,用修复工具重新安装。
下载并运行collect.exe
- https://aka.ms/vscollect - 并将在 %TEMP%\vslogs.zip 中创建的日志文件与github上的 MS 共享
仅供参考 - 这就是您在 Visual Studio 中的模板文件夹结构应该是什么样子。
└───mytemplate
│ console.cs
│ readme.txt
│
└───.template.config
template.json
【讨论】:
感谢您的回复。建议的所有内容都已检查,但未解决问题(一些在 OP 中概述)。我已经尝试了删除/安装/修改/修复的所有组合,包括检查所有可能的工作负载和组件。我们可以排除在设置中遗漏了一个步骤,因为我能够让控制台应用程序出现在另一台机器上,所以它特定于我机器的现有设置。我已经将版本详细信息与没有此问题的机器进行了比较,并且它们匹配。我还可以在技术上创建一个带有变通方法的 .NET 5 控制台应用程序,所以这只是一个项目模板显示问题。 @RichardChang 这很奇怪.. 但我建议您直接在 MS 团队中提及它github.com/dotnet/sdk/issues/17097 .. 这可能是一个注册表问题。我将添加更多详细信息 - 稍后会为您进行深度故障排除,但它涉及模板 JSON 文件和配置文件。【参考方案2】:最终手动或使用this extension 清除 MEF 组件缓存。
但很可能在C:\Users\USERNAME\AppData\Local\Microsoft\VisualStudio\16.0_93de0ddd
的用户缓存中有问题,其中特别包括InstalledTemplates.json
和privateregistry.bin
。
尝试重命名(或删除)文件夹,(或两个提到的文件之一以缩小问题范围),同时关闭 VS,然后重新启动 VS。只需确保您安装了正确的工作负载和来自 VS 的 .net 5。
【讨论】:
感谢您的回复。已经尝试过使用不同/所有工作负载进行安装、卸载、修复和修改的所有变体。我可以在其他机器和虚拟机上做同样的事情而没有问题,所以这不是由于安装过程的疏忽造成的。 @RichardChang 您是否尝试按照我的回答中指定的方式删除用户缓存?【参考方案3】:虽然很难判断 VS 或本地环境到底出了什么问题,但应该可以使用 dotnet cli 临时创建项目:
dotnet new console --output <project-dir>
如果您想将其添加到现有的解决方案中运行
dotnet sln <solution-name>.sln add <project-dir>
控制台应用程序项目文件非常简单,因此您甚至可以手动创建它,或者从任何现有模板创建项目并将内容替换为以下解决方法:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</Project>
也许您可以尝试的另一件事是以管理员身份运行 VS 安装程序或确保它可以安装和访问所有必需的组件。
【讨论】:
感谢您的回复。是的,我一直在使用这种解决方法,所以问题只是弄清楚为什么该选项没有出现在 Visual Studios UI 中。我尝试以管理员身份运行安装程序,但发生了同样的问题。 @RichardChang 您是否尝试过从系统中删除所有 .net 核心 sdk 及其所有痕迹,卸载带有所有痕迹的 VS,然后重新安装?【参考方案4】:我检查了一下,我能够使用 Visual Studio 版本 16.9.2 和 SDK 版本 5.0.201 创建 dotnet5.0 控制台应用程序。我认为您的端存在一些安装冲突。您可以尝试卸载 SDK 并重新安装 Visual Studio 或将其更新到最新版本并下载最新的 SDK。还要检查 SDK 是否安装在您的系统上
C:\Program Files\dotnet\sdk[你的 SDK 版本]\
【讨论】:
【参考方案5】:我在 VS2022 Preview 7.0 上遇到了这个问题。
在执行dotnet --version
后,我得到了5.0.100-preview.6.20318.15
,我一定是前段时间安装了它,它仍然在系统路径上。于是我下载并安装了dotnet6.0.100-rc.2.21505.57
之后 VS 开始正常工作。
编辑:我很幸运。我现在在VS2022 17.1.0 Preview 1.1
上运行.Net 5.0.403
和.Net 6.0.100
的生产版本。
问题又莫名其妙地回来了。我没有故意改变任何东西。我最好的猜测是几周前我升级 VS2022 时它坏了,直到现在我才意识到。
我已经彻底卸载了所有东西。 VisualStudio 2019 和 2022 以及所有 dotnet core 和 5.0 和 6.0。我什至得到了多年前我不知道的所有残余物。然后我重新安装了所有东西,但仍然没有 Net5.0 或 Net6.0 模板。
我注意到 .NET 模板包的卸载字符串有一个 /I
用于安装前缀,而不是 /X
用于卸载。我想这可能意味着这些软件包实际上并没有安装,所以我尝试手动运行它们,但失败了。我没有想法。
到目前为止,我必须在 Visual Studio 中创建 net5.0 或 net6.0 项目的唯一成功方法是下载 Classic Console Template,它提供了足够的引导来实际创建新项目。
【讨论】:
【参考方案6】:当我看到你的帖子时,我有 VS 2019 版本 16.9.5。我正在为我的示例项目使用控制台应用程序。我已经尝试过了,并且能够实现您正在寻找的东西。我建议将您的 VS 更新到 16.9.5 并试一试。
我的 VS 2019 版本:
在 VS 2019 16.9.5 中创建控制台应用:
终于创建了一个控制台应用项目,目标框架为.net 5.0
【讨论】:
我们知道它与 VS 16.9.4 无关,因为当 Richard 在新的 VM 中安装 16.9.4 时,问题就消失了。所以这是特定于他当前的操作系统、注册表或配置的东西。以上是关于在 Visual Studio 2019 中找不到 .NET 5.0 控制台应用程序项目模板的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio 2019 的 PowerShell 窗口中找不到 ILDASM
在 Visual Studio 2019 中找不到 .NET 5.0 控制台应用程序项目模板
在 Visual Studio Code 中找不到 Flutter Inspector / Toggle Debug Paint