Linux下F#目标.NET Framework 4.x项目构建MSB3644报错求助
解决Linux Mint下F#项目构建时MSB3644错误
这个问题我之前在Linux环境下用Ionide创建F#项目时也碰到过,原因是默认生成的项目目标框架是.NETFramework,Version=v4.6.1,而你的Linux环境里缺少对应的引用程序集,给你两个可行的解决方案:
方案一:切换项目到.NET Core 2.1(推荐)
既然你已经安装了.NET Core 2.1.4,直接把项目目标框架切换到.NET Core会更适配Linux环境,步骤如下:
- 打开VS Code里的项目文件(后缀为
.fsproj) - 找到
<TargetFramework>节点,将原来的net461替换为netcoreapp2.1,修改后类似这样:<TargetFramework>netcoreapp2.1</TargetFramework> - 保存文件后,重新执行构建操作(可以用VS Code的构建按钮,或者终端里运行
dotnet build)
这样修改后,项目会基于你已有的.NET Core环境构建,完全避开Mono下.NET Framework引用缺失的问题,而且.NET Core在Linux上的支持更完善。
方案二:安装Mono的完整.NET Framework引用程序集
如果你坚持要使用.NET Framework 4.6.1作为目标框架,需要安装Mono的完整开发包来获取对应的引用程序集:
- 打开终端,先更新包列表:
sudo apt update - 安装完整的Mono开发套件:
sudo apt install mono-complete - 安装完成后,回到VS Code重新构建项目即可
内容的提问来源于stack exchange,提问作者LA.27
相关产品推荐
相关产品推荐

