Как построить проект F # через файл .fsproj? - PullRequest
0 голосов
/ 28 августа 2018

У меня есть один файл F #, который я строю до сих пор через

fsc --standalone Foo.fs

в один исполняемый файл, который я могу распространять среди тех, кто не установил набор инструментов F #.

Теперь я думал, что перейду к файлу .fsproj, который масштабируется лучше, чем больше файлов я добавляю в свой проект. Рассмотрим следующий файл .fsproj:

<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="FSharp.NET.Sdk;Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="FSharp.NET.Sdk" Version="1.0.*" PrivateAssets="All" />
    <PackageReference Include="FSharp.Core" Version="4.5.*" />
    <Compile Include="Foo.fsx" />
  </ItemGroup>
</Project>

Если я запускаю dotnet build в каталоге, который содержит оба файла, я получаю следующий вывод:

C:\Users\BillGates\.nuget\packages\fsharp.net.sdk\1.0.5\build\FSharp.NET.Core.Sdk.targets(170,9): error MSB6006: "dotnet.exe" exited with code -2147450730. [C:\temp\Foo.fsproj]

Поиск по коду ошибки -2147450730 мне не помог. Есть идеи, что не так с моей настройкой? Любые советы, как создать отдельный исполняемый файл из файла F #?

Я использую следующие версии .NET:

dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.1.401
 Commit:    91b1c13032

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.15063
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.401\

Host (useful for support):
  Version: 2.1.3
  Commit:  124038c13e

.NET Core SDKs installed:
  2.1.401 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

1 Ответ

0 голосов
/ 13 сентября 2018

НЕ используйте FSharp.NET.Sdk с последними инструментами. Это был промежуточный пакет, пока F # не было в коробке. В настоящее время F # находится в коробке, и следующее должно дать вам рабочую версию:

dotnet new -lang f# dotnet build

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...