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

时间:2016-11-25 06:15:51

标签: .net f# dotnet-cli

我试图跟随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 个答案:

答案 0 :(得分:2)

在使用dotnet new --lang "f#"

创建F#项目之前,我遇到过类似的问题

问题在于此依赖关系,您应该在project.json文件中看到: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 :(得分:1)

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

您可以使用dev Feed来解决执行dotnet restore之类的问题,因为新的软件包还没有在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了解更多信息/解决方法

相关问题