在Visual Studio 2019中找不到.NET 5.0控制台应用程序项目模板

15

我目前正在尝试在Visual Studio 2019中创建一个C# .NET 5.0控制台应用程序,但在项目模板下未出现该选项。

我从https://visualstudio.microsoft.com/downloads/下载了Visual Studio Professional 2019版本16.9.4,并选择安装所有工作负载,然后我安装了SDK 5.0.202、ASP.NET Core Runtime 5.0.5、.NET Desktop Runtime 5.0.5和.NET Runtime 5.0.5(从https://dotnet.microsoft.com/download/dotnet/5.0)。

当我进入“文件”->“新建”->“项目”并搜索“控制台应用程序”时,没有默认的C#“控制台应用程序”项目模板。我能找到的最接近的是C#,“.NET Framework的控制台应用程序”,包括VB和F#,以及C++的“控制台应用程序”。如果我选择C#的“.NET Framework的控制台应用程序”,我能选择的最新框架是“.NET Framework 4.8”。

实际结果:项目模板

实际结果:项目模板

实际结果:框架 实际结果:框架

我和一位开发者进行了比较,他没有遇到这个问题,当他选择C#的“控制台应用程序(.NET Framework)”时,他也看到了与C#相关的“控制台应用程序”项目模板(没有“.NET Framework”),并且可以如预期地选择“.NET 5.0(Current)”作为目标框架。在他安装和更新的内容中似乎没有明显的不同,我们使用命令行命令“dotnet --info”的结果是相同的,并且他们在“关于”下没有列出任何“已安装产品”,在安装程序下也没有列出我所缺少的“单个组件”。

预期结果:项目模板

预期结果:项目模板

预期结果:框架

预期结果:框架

我尝试卸载并重新安装所有内容,详细安装每个工作负载以及看起来可能相关的其他单个组件,并确保勾选“工具->选项->环境->预览特性->在新项目对话框中显示所有.NET Core模板(需要重启)”复选框。

有人知道我错过了哪一步,导致我无法使用 .NET 5.0 创建 C# 控制台应用程序项目模板吗?


你可以尝试这个建议: https://stackoverflow.com/questions/67367636/visual-studio-2019-installer-setup-templates-missing - Albert D. Kallal
@JackJJun-MSFT。.NET 5.0运行时已在个别组件中进行了检查,为了全面,我检查了所有工作负载,包括.NET桌面开发。当我将筛选器设置为C#和控制台时,出现的唯一项目模板是“控制台应用程序(.NET Framework)”和“工作流控制台应用程序”。 - Richard Chang
你有检查过这个问题吗?https://developercommunity.visualstudio.com/t/visual-c-net-core-templates-missing-1/778309?你可能有一些组策略限制了VS对.NET Core的访问吗? - Andrii Litvinov
@RichardChang,您能否检查一下您的Visual Studio Installer >“个别组件”选项卡中选择的框架/库,并与我们分享? - nunohpinheiro
2
@NPinheiro 我实际上尝试了选择它们中的所有内容(对于重复项选择最新的),即使那样也无法解决问题。除此之外,我还尝试在新的虚拟机上进行常规安装,该问题不会发生(“控制台应用程序”确实出现),因此这不是与我选择安装的内容有关的问题,而是特定于我的机器上的某些配置问题。 - Richard Chang
显示剩余3条评论
7个回答

14
背景 -- 这个问题是由于微软故意进行的更改/破坏导致的,您可以在此处此处报告的问题中了解更多信息,但您可以通过以下2个选项来解决此问题,即 A) 启用它 或 B) 通过修复工具将其添加到VS中 建议清除VStudio缓存 -- 在重新/启动VS之前,杀死dev processclear cache,并运行以下命令作为管理员在powershell中

Get-Process devenv | Foreach-Object { $_.CloseMainWindow() | Out-Null }

然后删除ItemTemplatesCacheProjectTemplatesCache文件夹等等。 prof. 等等. C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE.


现在请按照以下步骤/选项进行操作


  • 选项1:您可能需要启用此选项...

工具 > 选项 > 预览功能 > “在新项目对话框中显示所有.NET Core模板(需要重新启动)”。

Enable the option


  • 选项2: 通过Visual Studio Installer安装方法,如下所示

您可以使用修复VS(这也会更新安装程序)来安装缺失的工作负载,并确保从VS Installer 工具中勾选所需的可选包,请参见this

repair the VS install


安装程序启动后,请检查桌面和控制台是否选择了.NET Core工作负载,如下所示。在右侧窗格中,您需要勾选正确的框。 Select the core tools

清除Visual Studio组件缓存(& 可选所有模板

现在,如果您已经按照上述步骤操作,则需要验证在Visual Studio安装程序的右上角是否选择了“.net-Desktop development”复选框:删除缓存并还原

即,您可以在VS2017/2019中还原模板,然后再次尝试。

首先终止开发进程,运行此命令 Get-Process devenv | Foreach-Object { $_.CloseMainWindow() | Out-Null }

请按照以下步骤操作:

  1. 删除 ItemTemplatesCacheProjectTemplatesCache文件夹Ent.Prof版本等。C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE. & C:\Users\<USERNAME>\AppData\Local\Microsoft\VisualStudio\16.0_93de0ddd
  2. 在命令提示符中,导航到devenv.exe的位置。此文件位于\Common7\IDE。
  3. 键入/运行此命令devenv /installvstemplates并按Enter键。

.Net Desktop Dev Workload

FYI - 你的模板缓存在这里,其中包含以模板文件夹中的zip文件命名的文件夹。你需要管理员权限才能进行编辑/删除

//微软模板缓存

 %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:调试您的环境。模板配置文件夹

检查/诊断版本:

运行此命令:dotnet --version,安装正确的核心版本https://dotnet.microsoft.com/download/dotnet/5.0,更多信息请参见此处 使用dotnet new -u命令可告知已安装的模板,您可以使用修复工具卸载、清除包缓存、重新启动和重新安装。

下载并运行collect.exe - https://aka.ms/vscollect - 并与 MS 共享在 %TEMP%\vslogs.zip 中创建的日志文件github

FYI - 这是您在 Visual Studio 中的模板文件夹结构样式。

└───mytemplate
    │   console.cs
    │   readme.txt
    │
    └───.template.config
            template.json


感谢您的回复。已经检查了所有建议的内容,但都不能解决问题(其中一些在原帖中有提到)。我尝试了每种删除/安装/修改/修复的组合,包括检查所有可能的工作负载和组件。我们可以排除设置过程中漏掉了某个步骤,因为我能够在另一台机器上看到Console App,所以这是特定于我的机器现有设置的问题。我已经将版本详细信息与没有此问题的机器进行了比较,它们是相同的。我也可以使用解决方法创建.NET 5控制台应用程序,因此只是一个项目模板显示问题。 - Richard Chang
@RichardChang 这很奇怪...但我建议你直接向微软团队提出 https://github.com/dotnet/sdk/issues/17097 ..这可能是一个注册表问题。我会尽快为您添加更多详细信息-但它涉及模板JSON文件和配置文件的深度故障排除。 - Transformer

2
最终清除MEF组件缓存,可以手动操作或使用此扩展
但最有可能的是用户缓存中存在问题,位于C:\Users\USERNAME\AppData\Local\Microsoft\VisualStudio\16.0_93de0ddd,其中包括InstalledTemplates.jsonprivateregistry.bin
在关闭VS时,尝试重命名(或删除)文件夹(或两个提到的文件之一),并重新启动VS。只需确保已安装适当的工作负载和来自VS的.NET 5即可。

感谢您的回复。已经尝试了所有安装、卸载、修复和修改不同/所有工作负载的变体。我能够在其他机器和虚拟机上做同样的事情而没有问题,所以这不是由于安装过程中的疏忽引起的。 - Richard Chang
@RichardChang,你是否尝试按照我的回答中指定的方式删除用户缓存? - Soleil

1

虽然很难确定您的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安装程序,或确保它能够安装和访问所有所需组件。

1
谢谢回复。是的,我一直在使用这个解决方法,所以问题就在于找出为什么选项不会出现在Visual Studios UI中。我已经尝试以管理员身份运行安装程序,但仍然存在同样的问题。 - Richard Chang
@RichardChang 你尝试过从系统中删除所有的 .net core sdk 及其痕迹,卸载带有所有痕迹的 VS,然后再重新安装吗? - Andrii Litvinov

0

我已经核实过,使用Visual Studio版本16.9.2和SDK版本5.0.201,我能够创建dotnet5.0控制台应用程序。我认为这可能是您的安装存在冲突。您可以尝试卸载SDK并重新安装Visual Studio,或者更新到最新版本并下载最新的SDK。同时,请检查SDK是否安装在您的C:\Program Files\dotnet\sdk[your SDK version]\系统路径下。


0

经过一年的处理,我终于弄清楚了。

前往 C:\Program Files\dotnet\templates 然后打开那里的每个文件夹。显然这是一个权限问题,因为我一直在收到以下错误:

[Window Title]
6.0.6
[Main Instruction]
You don't currently have permission to access this folder.
[Content]
Click Continue to permanently get access to this folder.
[Continue] [Cancel]

You don't currently have permission to access this folder.

在选择每个文件夹后,一切开始正常工作。

运行dotnet new --list时出现的错误提醒了我。 dotnet new --list


0

我的解决方案是删除C:\Users\USERNAME.templateengine\


1
你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

-1
我在看到你的帖子时使用的是VS 2019版本16.9.5。我正在使用控制台应用程序进行我的示例项目。我已经尝试过并能够实现你所寻找的功能。我建议你将你的VS更新到16.9.5并尝试一下。

我的 VS 2019 版本:

enter image description here


在VS 2019 16.9.5中创建控制台应用程序:

enter image description here


最终创建了一个目标框架为 .net 5.0 的控制台应用程序项目。

enter image description here


我们知道这与 VS 16.9.4 无关,因为当 Richard 在一个全新的虚拟机中安装了 16.9.4 后,问题消失了。所以这是与他当前的操作系统、注册表或配置有关的特定问题。 - Jordan Rieger

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