2016-02-27 63 views
6

我需要找到一種在F#中使用最新的asp.net 5和mvc 6 web api構建休息服務的方法。在Visual Studio 2015中是否有作爲項目模板的直接支持?如果沒有,請問有人能讓我走上正確的軌道如何進行?一個選項可能是構建一個F#庫,然後從C#asp.net mvc 6項目調用它。不過,我會非常有興趣構建一個本地F#mvc 6 web api。謝謝!F#支持最新的asp.net 5和MVC6

谷歌返回以下項目:https://github.com/fsprojects/fsharp-dnx

的HelloFSharp樣品工作正常,但無法管理,使HelloMVC項目構建:

  • DNU恢復抱怨很多未發現的依賴
  • DNX網站有以下錯誤:

    System.TypeLoadException: Could not load type 'Microsoft.Extensions.Logging.ILogValues' from assembly 'Microsoft.Extensions.Logging.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. 
    
+2

dnu/dnx不再是一件東西,核心CLR已經轉移到新的cli上,請看這裏:http://www.hanselman.com/blog/ExploringTheNewNETDotnetCommandLineInterfaceCLI.aspx –

回答

1

F#現在由.net core支持。在撰寫本文時,F#代碼只能使用.net core 1.0.3 LTS進行編譯。在Ubuntu 16.10上,使用描述here的步驟添加.net核心回購。

  • 確保安裝.NET核心1.0.3 LTS(而不是最新的.NET 1.1核心):sudo apt-get install dotnet-dev-1.0.0-preview2-003156
  • 爲您的F#項目的目錄:mkdir helloworldfsharpcd helloworldfsharp
  • 在該目錄中: dotnet new -l f#。這將創建一個新的F#項目
  • dotnet restore。這將恢復所有包並安裝F#編譯器。
  • dotnet build
  • dotnet run

編輯:前面的步驟生成一個控制檯應用程序。如果您想創建一個asp.net核心mvc應用程序,請按照here所述修改生成的文件(如鏈接中所示,這非常簡單)。