注意:這裏我講的是dotnet核心而不是完整的框架!對於完整的框架,有很多關於此的文檔,但這是dotnet核心。C# - .NET Core上的Visual Studio 2015中的F#Interop支持
我有
dotnet new --lang F#
而一個ASP.NET核心RC2 C#應用程序(通過創建文件 - >新建項目在VS)創建了一個F#庫。
現在我用C#中的F#庫(我想是一個非常常見的場景......)。 F#項目是在project.json中引用的任何其他.net庫(通過列出它依賴項下)
現在所有這些編譯和工作正常,這是偉大的!
唯一的問題是VS似乎不支持它。沒有智能感知和線條,我使用C#中的F#函數被標記爲錯誤。從C#調試到F#也不起作用。我在VS Code的Mac上試過它,同樣在那裏...
當我編譯時,編譯器會計算出來,一切正常。
所以基本上我結束了在這一堆錯誤,仍然編譯VS解決方案。
Here是一個簡單的複製器。
問題:
- 應該IntelliSense和在VS調試工作呢?
- 如果是,我做錯了什麼?
- 如果不是,計劃在 未來中涵蓋這種情況嗎?
下面是從再現的代碼:
F#庫 - project.json(由CLI創建 - dotnet new --lang F#
)
"version": "1.0.0-*",
"buildOptions": {
"compilerName": "fsc",
"compile": {
"includeFiles": [
"FSharpLibrary.fs"
]
}
},
"dependencies": {
"Microsoft.FSharp.Core.netcore": "1.0.0-alpha-160316",
"NETStandard.Library": "1.5.0-rc2-24027"
},
"tools": {
"dotnet-compile-fsc": {
"version": "1.0.0-*",
"imports": [
"dnxcore50",
"portable-net45+win81",
"netstandard1.3"
]
}
},
"frameworks": {
"netstandard1.5": {
"imports": [
"portable-net45+win8",
"dnxcore50"
]
}
}
F#庫,代碼:
namespace FSharpLibrary
module Sample =
let public FSharpFunction number =
printfn "Hello From F#, %d" number
C#應用程序(在這裏我使用一個控制檯應用程序,但與asp.net核心相同的東西)
using System;
namespace ConsoleAppCSharp
{
public class Program
{
public static void Main(string[] args)
{
FSharpLibrary.Sample.FSharpFunction(42); //<- This is red. and marked as error.
Console.ReadKey();
}
}
}
C#控制檯應用程序project.json
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"LibraryFSharp": "1.0.0-*",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-3002702"
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
感謝
我已經刪除了我的答案,認爲將它留在那裏可能會更好,因爲有人認爲與我一樣回答問題 - 這是QA站點的全部要點,問題會被提出並提供多個答案無論是在內部還是外部。 我發現下面爲您提供: https://github.com/Microsoft/visualfsharp/wiki/F%23-for-CoreCLR---Status 這似乎調試還不支持,它目前似乎也對VS支持不佳。 – Eon
@Krohn我在這個問題中增加了一個不完整的框架,所以我認爲不會有任何新的答案。感謝github頁面。我已經看到並且確實表示它不被支持,但是該頁面在上次1月27日更新,該版本位於ASP.NET Core的RC1/Preview1版本之前,所以我不確定它是否爲100%準確。 – gregkalapos
好吧,所以基於github討論,我在這裏描述的是當前階段,不支持智能感知和調試:https://github.com/dotnet/roslyn-project-system/issues/219 https:// github。 com /微軟/ visualfsharp/issues/1193 https://github.com/Microsoft/visualfsharp/issues/496 – gregkalapos