我正在使用 VSCode-Insiders 和 OmniSharp C# 智能感知没有看到 F# 类型/模块/命名空间。这是一个简单的项目:
module T1
let t = 42
和 C#:
using System;
namespace flowRunner
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(T1.t);
}
}
}
通过命令行使用 dotnet build 构建工作正常。dotnet run 也可以正常工作。并且在 VS Code 中调试有效。但智能感知显示:
问题:我该如何解决这个问题?我在更大的解决方案上有类似的问题,当你周围有 1K 个错误而不是错误时,这很烦人。
此外,我注意到这是从某个时间点开始发生的(假设使用一些新版本的 IDE 和/或扩展等)。
Omnisharp 日志(其中的一部分,但没有错误或警告):
[info]: OmniSharp.Services.DotNetCliService
DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
Located 2 MSBuild instance(s)
1: Visual Studio Build Tools 2017 15.9.28307.812 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"
2: StandAlone 16.0 - "C:\Users\dvitel\.vscode-insiders\extensions\ms-vscode.csharp-1.21.1\.omnisharp\1.34.2\.msbuild\Current\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
MSBUILD_EXE_PATH environment variable set to 'C:\Users\dvitel\.vscode-insiders\extensions\ms-vscode.csharp-1.21.1\.omnisharp\1.34.2\.msbuild\Current\Bin\MSBuild.exe'
此外,我在 Ionide 的日志下拉列表中没有找到任何条目(我很确定它在一段时间之前就存在了)。
项目配置为具有 TargetFramework net45。但我也试过 netcoreapp2.2 - 它没有用。
配置。VS Code - 内部人士:
Version: 1.38.0-insider (user setup)
Commit: 185308c0dd317d73fe4c19dea347582dee9650de
Date: 2019-08-26T09:46:11.283Z
Electron: 4.2.9
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18362
扩展(及其版本):
.NET 核心 SDK:
PS C:\Users\dvitel\Documents\Visual Studio 2019\SO> dotnet --info
Version: 2.2.6
Commit: 7dac9b1b51
.NET Core SDKs installed:
2.0.0 [C:\Program Files\dotnet\sdk]
2.1.200 [C:\Program Files\dotnet\sdk]
2.2.401 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]