3

我正在尝试在 MacOS (Sierra 10.12.6) 上使用 F# 和 VS Code (v1.17.2) 我想我已经安装了最新版本的 Mono 和 .NET SDK

我正在尝试构建此处描述的简单项目作为测试 https://github.com/s952163/FSharpVSCode

在我的默认安装之后,我可以做一个 MSBuild 并在终端中运行程序而没有任何问题。但是在那个阶段,(1) Intellisense 无法正常工作,无法在 F# 资源管理器中识别 Deedle (2),在右键单击时会显示“TestProject1.fsproj (load failed)”我收到此错误

_Inspect_GetProperties_OutFile=/var/folders/gm/z065gk616xg6g0xgn4c7_bvc0000gn/T/tmpfe4a2c2.tmp.GetProperties.txt /nologo /verbosity:quiet' 日志:在 '/Users/francois-guillaume.rideau/Documents/FsharpVsCode/TestProject1/ 中写入帮助目标文件obj/TestProject1.fsproj.proj-info.targets' /usr/local/share/dotnet/sdk/2.0.2/Microsoft.Common.CurrentVersion.targets(1122,5):错误 MSB3644:框架的参考程序集“。 NETFramework,Version=v4.6.1" 未找到。要解决此问题,请为此框架版本安装 SDK 或 Targeting Pack,或者将您的应用程序重新定位到已安装 SDK 或 Targeting Pack 的框架版本。请注意,程序集将从全局程序集缓存 (GAC) 中解析,并将用于代替引用程序集。因此,您的程序集可能无法正确定位于您想要的框架。[/Users/francois-guillaume.rideau/Documents/FsharpVsCode/TestProject1/TestProject1.fsproj]

为了解决这个问题,我输入了以下内容

export FrameworkPathOverride=/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5/

但更糟糕的是,在那之后,项目不再在 VS Code 中构建,因为我在尝试时得到了这个输出(Cmd-Shift-P) MSBuild: Build Project

/usr/local/share/dotnet/sdk/2.0.2/Microsoft.Common.CurrentVersion.targets(1122,5):错误 MSB3644:未找到框架“.NETFramework,Version=v4.6.1”的参考程序集。要解决此问题,请为此框架版本安装 SDK 或 Targeting Pack,或者将您的应用程序重新定位到已安装 SDK 或 Targeting Pack 的框架版本。请注意,程序集将从全局程序集缓存 (GAC) 中解析,并将用于代替引用程序集。因此,您的程序集可能无法正确定位于您想要的框架。[/Users/francois-guillaume.rideau/Documents/FsharpVsCode/TestProject1/TestProject1.fsproj]

截图在这里https://imgur.com/KtMM2Bu

4

2 回答 2

1

VS Code 环境在调用它时会传递给 msbuild,因此在 VS Code 启动时设置环境变量就可以了:

FrameworkPathOverride=/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5/ code .

于 2017-10-31T11:35:28.673 回答
-1

转到终端中的项目位置,然后 FrameworkPathOverride=/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5/ code .如前所述运行。

然后你应该能够再次构建。

于 2017-11-19T21:46:15.417 回答