Visual Studio Code可以使用混合语言的.NET Core解决方案吗?

问题描述 投票:4回答:1

以下是否有简单的解决方法?或者这是VSCode和/或语言特定扩展中的错误?

我创建了两个项目和一个像这样的解决方案:

dotnet new library -lang F# -o .\ClassLibrary
dotnet new console -lang C# -o .\MainProgram
dotnet new sln
dotnet sln add .\ClassLibrary\ClassLibrary.fsproj
dotnet sln add .\MainProgram\MainProgram.csproj

我在主程序中添加了对类库的项目引用。

dotnet add reference ..\ClassLibrary\ClassLibrary.fsproj

我更新了Program.cs以调用类库。

static void Main(string[] args)
{
    ClassLibrary.Say.hello("world.");
}

我可以成功恢复,构建和运行程序。

dotnet restore
dotnet run -p .\MainProgram\MainProgram.csproj

问题是当我在Visual Studio Code中打开解决方案文件夹时。

  • 当我打开Program.cs时,编辑器将F#库类型重写为缺失。
  • 当我打开Library.fs时,编辑器会强调所有内容。有趣的是,错误来自C#编译器,而不是F#编译器。
  • Ctrl-Shift-B使用0警告和0错误构建项目。
  • VSCode的Problems窗口显示12个编译器错误。

enter image description here

enter image description here

我也试过单独打开项目文件夹。

  • 如果我在F#库项目中打开VS Code,Intellisense会工作。
  • 如果我在C#控制台项目中打开VS Code,编辑器仍然无法识别F#库中的类型。

更新

我有VS Code版本1.15.1,安装了五个扩展。

  1. C#,1.12.1
  2. Ionide-fsharp,2.33.0
  3. 语言PL / SQL,1.0.4
  4. 一件事g,0。15。7
  5. XML工具,1.9.2
c# f# visual-studio-code .net-core
1个回答
0
投票

看起来我们只需要等待this fix

而且,如果您安装了Visual Studio Build Tools 2017,请更新到the latest version and F# compiler workload

© www.soinside.com 2019 - 2024. All rights reserved.