缺少F#.NET Framework控制台应用程序模板

时间:2018-01-26 09:25:06

标签: .net visual-studio f# visual-studio-2017

我在使用F# Console App不是.Net Core )创建.Net Framework时遇到问题。当我打开:

Visual Studio 2017 -> New project -> Visual F# -> .Net Standard

唯一可见的模板是Class Library

使用Visual Studio Installer我添加了以下包:

  • F# Language Support(我知道这是.Net Core的依赖,但它仍然可能很重要)
  • F# Desktop Language Support(安装人员说它只有147KB大小,可以吗?)

然而,这并没有改变任何事情 - 仍然没有Console Application的模板。我还试图看看.NET Framework的目标版本是否会发生任何变化,但它没有 - 我是否遗漏了其他任何内容?

注意:我无法使用.Net Core版本,即使我愿意,因为我只使用支持框架的使用支持.Net标准框架 - 它需要System.Windows.Forms。

4 个答案:

答案 0 :(得分:21)

显然我是瞎子。但是,根据我的理由,我需要澄清一下:

要使用.Net Framework(非Core)创建控制台应用程序,我需要点击:

Visual Studio 2017 -> New project -> Visual F# (the template is here)

而不是:

Visual Studio 2017 -> New project -> Visual F# -> .Net Standard (the template is one step up in hierarchy)

<强>解释

正如@PanagiotisKanavos在评论中所述:

  

.NET Standard仅用于可移植库

所以它根本不应该存在。

注意:
F# Desktop Language Support 是包含F#Console App(以及其他非核心模板)模板的必需包。

如果您没有安装此功能,则无论您在何处单击,都不会看到该模板。您可以使用 Visual Studio Installer 通过 Individual Components 标签进行安装。

答案 1 :(得分:1)

这不是一个答案,而是一个解决方法。

您可以创建2个项目。 F#库和C#控制台应用程序。将F#项目引用到C#控制台应用程序。从那里,您可以从控制台应用程序内部调用您的F#方法。

答案 2 :(得分:0)

Visual Studio 2019:

  1. 打开Visual Studio安装程序。
  2. 转到“单个组件”标签
  3. 按F#过滤
  4. 全部安装

提示:要选择模板,例如在此问题的选定答案上,您可以安装:

How to restore normal "New Project" windows on Visual Studio 2019

答案 3 :(得分:0)

F# 的过程是一样的,只是filter by F# under the add individual components tab。背景 -- 这是 Microsoft 故意更改的更改/损坏问题,您可以阅读更多 hereissue reported here,但您可以使用下面列出的 2 个选项解决此问题,即 A) 启用它 或 B) 通过修复工具将其添加到 VS


  • 选项 1:您可能需要enable此选项...
<块引用>

Tools > Options > Preview Features > “Show all .NET Core templates in the New project dialog (requires restart)”.

Enable the option


  • 选项 2: Install via Visual Studio Installer 像这样..
<块引用>

您可以使用修复 VS 安装缺少的工作负载(这也将更新安装程序),并确保检查您选择的可选包想要使用 VS 安装程序工具,请参阅 this

repair the VS install


<块引用>

F#的过程是一样的,只是filter by F# under the add individual components tab就是下图中的2nd tab

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

Select the core tools & Filter for F# tools by visual studio components

现在,如果您已经按照上述步骤操作,那么验证您是否选中了 Visual Studio 安装程序中右上角的“.net-Desktop development”复选框:删除缓存并恢复强>

即您可以在 VS2017/2019 中restore the template,然后再试一次。

请参考以下步骤:

  1. DELETE ItemTemplatesCache、ProjectTemplatesCache 文件夹。教授等等。C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE.
  2. 在命令提示符中,导航到 devenv.exe 的位置。此文件位于 \Common7\IDE。
  3. 键入/运行此命令 devenv /installvstemplates 并按 Enter。

.Net Desktop Dev Workload

仅供参考 - 您的模板缓存在此处,其中包含以模板文件夹中存档中的 zip 文件命名的文件夹。 您将需要管理员权限才能进行编辑/删除。

<块引用>

%AppData%\Microsoft\VisualStudio\{some_version}\ItemTemplatesCache\


选项 3: 调试您的环境。 Template Config folder

检查/诊断版本:

<块引用>

运行这个dotnet --version 安装正确的核心版本 https://dotnet.microsoft.com/download/dotnet/5.0heredotnet new -u 会告诉您安装了哪些模板,您可以使用修复工具卸载、清除包缓存、重新启动和重新安装。

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

仅供参考 - 这就是您在 Visual Studio 中的模板文件夹结构的样子。

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