【发布时间】:2018-04-08 13:36:39
【问题描述】:
我的 Linux Mint (18.3) 机器上安装了 mono (5.10.1.20) 和 dotnet core (2.1.4)。
我想使用 VS Code Ionide 创建一个项目:Ctrl+Shift+P -> F#: New Project -> 控制台。这没有问题。但是,当我尝试构建它时,我得到:
错误 MSB3644:框架的参考程序集 未找到“.NETFramework,Version=v4.6.1”。为了解决这个问题, 为此框架版本安装 SDK 或 Targeting Pack,或 将您的应用程序重新定位到您所针对的框架版本 已安装 SDK 或 Targeting Pack。
我查看了我的 .fsproj 文件,确实 - 它说:
<TargetFramework>net461</TargetFramework>
但是,我在网上找到了一些文章,人们声称能够毫无问题地构建它(例如,此处找到的 Suave-Music-Store 教程:
https://legacy.gitbook.com/book/theimowski/suave-music-store/details)
我肯定在这里遗漏了一些东西。所以我的问题是:究竟是什么(以及如何使这项工作)?
PS:我可以通过将目标框架更改为“netcoreapp2.0”来解决这个问题,但我仍然很确定模板应该开箱即用。
【问题讨论】:
-
您不必使用 ionide 模板来创建 F# 控制台项目。只需使用 .net core cli,然后使用 ionide 打开目录。 docs.microsoft.com/en-us/dotnet/fsharp/get-started/…
-
是的,这是一个令人讨厌的问题,错误消息很差。你安装了
referenceassemblies-pcl包吗? -
是的 - 安装了它,不过版本有点旧:
apt-cache policy referenceassemblies-pcl referenceassemblies-pcl: Installed: 2014.04.14-1xamarin4+ubuntu1604b1 Candidate: 2014.04.14-1xamarin4+ubuntu1604b1我尝试将项目的目标框架更改为例如net45(2014 年存在的任何东西),但这也无济于事。
标签: linux f# mono visual-studio-code .net-core