我在使用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。
答案 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:
提示:要选择模板,例如在此问题的选定答案上,您可以安装:
How to restore normal "New Project" windows on Visual Studio 2019
答案 3 :(得分:0)
F# 的过程是一样的,只是filter by F# under the add individual components tab
。背景 -- 这是 Microsoft 故意更改的更改/损坏问题,您可以阅读更多 here 和 issue reported here,但您可以使用下面列出的 2 个选项解决此问题,即 A) 启用它 或 B) 通过修复工具将其添加到 VS
enable
此选项...Tools > Options > Preview Features > “Show all .NET Core templates in the New project dialog (requires restart)”.
Install
via Visual Studio Installer
像这样..您可以使用修复 VS 安装缺少的工作负载(这也将更新安装程序),并确保检查您选择的可选包想要使用 VS 安装程序工具,请参阅 this
F#的过程是一样的,只是filter by F# under the add individual components tab
就是下图中的2nd tab
。
安装程序启动后,检查是否为桌面和控制台选择了 .NET Core 工作负载.. 如下所示.. 在右侧窗格中,您需要选中正确的框
现在,如果您已经按照上述步骤操作,那么验证您是否选中了 Visual Studio 安装程序中右上角的“.net-Desktop development”复选框:删除缓存并恢复强>
即您可以在 VS2017/2019 中restore the template
,然后再试一次。
请参考以下步骤:
DELETE
ItemTemplatesCache、ProjectTemplatesCache 文件夹。教授等等。C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE.
devenv /installvstemplates
并按 Enter。仅供参考 - 您的模板缓存在此处,其中包含以模板文件夹中存档中的 zip 文件命名的文件夹。 您将需要管理员权限才能进行编辑/删除。
<块引用>%AppData%\Microsoft\VisualStudio\{some_version}\ItemTemplatesCache\
选项 3: 调试您的环境。 Template Config folder
检查/诊断版本:
<块引用>运行这个dotnet --version
安装正确的核心版本 https://dotnet.microsoft.com/download/dotnet/5.0
多 here
此 dotnet new -u
会告诉您安装了哪些模板,您可以使用修复工具卸载、清除包缓存、重新启动和重新安装。
下载并运行 collect.exe
- https://aka.ms/vscollect - 并在 github 上与 MS 共享在 %TEMP%\vslogs.zip 中创建的日志文件
仅供参考 - 这就是您在 Visual Studio 中的模板文件夹结构的样子。
└───mytemplate
│ console.cs
│ readme.txt
│
└───.template.config
template.json