F# (моно) для VS Code на MacOS: ошибки

Я пытаюсь использовать F# с VS Code (v1.17.2) на MacOS (Sierra 10.12.6). Мне кажется, я установил последние версии Mono и.NET SDK.

Я пытаюсь просто построить простой проект, описанный здесь, как тестовый https://github.com/s952163/FSharpVSCode

после установки по умолчанию я мог сделать MSBuild и запустить программу в терминале без каких-либо проблем. Однако на этом этапе, (1) Intellisense не работает должным образом, не распознавая Deedle (2) в проводнике F#, он сказал бы "TestProject1.fsproj (загрузка не удалась) при выполнении щелчка правой кнопкой мыши, я получил эту ошибку

Ошибка: сбой MSBuild с рабочим каталогом exitCode 1: '/Users/francois-guillaume.rideau/Documents/FsharpVsCode/TestProject1' Путь к Exe: 'dotnet' Аргументы: 'msbuild /Users/francois-guillaume.rideau/Documents/FsharpVsCode/TestProject /TestProject1. tmp.FscArgs.txt / р: DesignTimeBuild = истина / т:_Inspect_GetResolvedProjectReferences /p:_Inspect_GetResolvedProjectReferences_OutFile=/var/folders/gm/z065gk616xg6g0xgn4c7_bvc0000gn/T/tmpfe4a2c2.tmp.GetResolvedProjectReferences.txt / т:_Inspect_GetProperties / р:_Inspect_GetProperties_OutFile = / вар / Папки / gm / z065gk616xg6g0xgn4c7_bvc0000gn / T / tmpfe4a2c2.tmp. TestProject1.fsproj.proj-info.targets' /usr/local/share/dotnet/sdk/2.0.2/Microsoft.Common.CurrentVersion.targets(1122,5): ошибка MSB3644: эталонные сборки для фреймворка ".NETFramework, Версия =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

2 ответа

Среда VS Code передается в msbuild при ее вызове, поэтому установка переменных среды при запуске VS Code делает свое дело:

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

Перейти к местоположению проекта в терминале, а затем запустить FrameworkPathOverride=/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5/ code . как было сказано ранее.

Тогда вы сможете снова строить.

Другие вопросы по тегам