首页 文章

在带有dotnet cli的mac上使用f#

提问于
浏览
4

我试图按照https://github.com/enricosada/fsharp-dotnet-cli-samples/wiki/Getting-Started#hello-world来开始使用我的mac上的f#和dotnet核心 .

% mkdir helloworld
% cd helloworld
% dotnet new --lang "f#"
Created new F# project in /Users/User/dotnet/helloworld.
% ls
Program.fs   project.json

在这里,我已经可以说,没有NuGet.Config,如我所遵循的教程中所述 . 然后

% dotnet restore
log  : Restoring packages for /Users/User/dotnet/helloworld/project.json...
log  : Restoring packages for tool 'dotnet-compile-fsc' in /Users/User/dotnet/helloworld/project.json...
log  : Writing lock file to disk. Path: /Users/User/dotnet/helloworld/project.lock.json
log  : /Users/User/dotnet/helloworld/project.json
log  : Restore completed in 2148ms.
% dotnet run
Project helloworld (.NETCoreApp,Version=v1.1) will be compiled because expected outputs are missing
Compiling helloworld for .NETCoreApp,Version=v1.1
The specified framework 'Microsoft.NETCore.App', version '1.0.0' was not found.
  - Check application dependencies and target a framework version installed at:
      /usr/local/share/dotnet/shared/Microsoft.NETCore.App
  - The following versions are installed:
      1.1.0
  - Alternatively, install the framework version '1.0.0'.
/usr/local/share/dotnet/dotnet compile-fsc @/Users/User/dotnet/helloworld/obj/Debug/netcoreapp1.1/dotnet-compile.rsp returned Exit Code 131

Compilation failed.
    0 Warning(s)
    0 Error(s)

Time elapsed 00:00:00.4439997

Dotnet信息说

% dotnet --info
.NET Command Line Tools (1.0.0-preview2-1-003177)

Product Information:
 Version:            1.0.0-preview2-1-003177
 Commit SHA-1 hash:  a2df9c2576

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.12
 OS Platform: Darwin
 RID:         osx.10.12-x64

2 回答

  • 2

    使用 dotnet new --lang "f#" 创建F#项目之前我遇到过类似的问题

    问题是这种依赖性,您应该在 project.json file:dotnet-compile-fsc中看到 .

    "tools": {
        "dotnet-compile-fsc": "1.0.0-preview2.1-*"
    },
    

    在撰写本文时,这仅支持.Net Core 1.0 . *运行时,而不是您安装的.Net Core 1.1 . *运行时 .

    要解决此问题,您可以install the .Net Core 1.0.* runtime from here并再次运行 dotnet run . 1.1 . *和1.0 . *运行时都可以在本地安装而不会出现问题 .

    供参考,here is the issue reported on GitHub . 有一个修复,但它还没有在NuGet上 .

  • 1

    目前 dotnet-compile-fsc 还没有使用.NET Core 1.1(当前,sdk preview2.1),只能使用.NET Core 1.0(LTS,sdk preview2) .

    你可以使用dev feed来解决这个问题,如下所示:因为新的软件包还没有在nuget.org上

    dotnet restore -f https://www.myget.org/F/netcorecli-fsc-preview2-1/api/v3/index.json

    有关详细信息/解决方法,请参阅https://github.com/dotnet/netcorecli-fsc/wiki/.NET-Core-SDK-preview2.1

相关问题