VSCode OmniSharp/C#intellisense没有看到Ionide/F#lib模块/名称空间

VSCode OmniSharp/C#intellisense没有看到Ionide/F#lib模块/名称空间,c#,visual-studio-code,f#,omnisharp,ionide,C#,Visual Studio Code,F#,Omnisharp,Ionide,我使用的是VSCode内部人员,OmniSharp C#intellisense没有看到F#类型/模块/名称空间。 下面是一个简单的项目: 模块T1 设t=42 和C#: 使用系统; 命名空间flowRunner { 班级计划 { 静态void Main(字符串[]参数) { 控制台写入线(T1.t); } } } 使用dotnet Build通过命令行进行构建工作正常。dotnet运行也很好。在VS代码中进行调试是可行的。但intellisense显示: 问题:我如何解决这个问题?我在更

我使用的是VSCode内部人员,OmniSharp C#intellisense没有看到F#类型/模块/名称空间。 下面是一个简单的项目:

模块T1
设t=42
和C#:

使用系统;
命名空间flowRunner
{
班级计划
{
静态void Main(字符串[]参数)
{
控制台写入线(T1.t);
}
}
}
使用dotnet Build通过命令行进行构建工作正常。dotnet运行也很好。在VS代码中进行调试是可行的。但intellisense显示:

问题:我如何解决这个问题?我在更大的解决方案上有类似的问题,当你周围都有1K个不是错误的错误时,这是非常恼人的

另外,我注意到这是从某个时间点开始发生的(假设使用了一些新版本的IDE和/或扩展等)

Omnisharp日志(其中的一部分,但没有错误或警告):

另外,我在Ionide的logs下拉列表中没有找到任何条目(我很确定它以前就存在过)

项目配置为具有TargetFramework net45。但我也尝试了netcoreapp2.2——它不起作用

配置。VS代码-内部人员:

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\visualstudio 2019\SO>dotnet--info
版本:2.2.6
提交:7dac9b1b51
已安装.NET核心SDK:
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核心运行时:
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]

这很令人沮丧,但本质上Omnisharp不支持F#,因此,从我所知,我们无法在设计时让它正常工作

要修复intellisense,您可以构建fsharp项目的dll,并从
.csproj
引用它。如果需要从C#跳到F#,可以设置脚本(从命令行或vscode中的任务触发)和观察程序(例如,
dotnet watch build
)来重建F#项目。然后使用
Omnisharp:Restart Omnisharp
命令进行刷新,它应该会将其拾取


免责声明:我是初学者。

我想我找到了答案。Omnisharp日志声明它使用独立的16.0 MSBuild实例。正如我在github上发现的,有些人处理了相同的问题。例如,guy解决了这个问题,但使用F Sharp Compiler安装了VS Build tools 2017

从他的日志中,选择了Visual Studio Build Tools 2017 15.3.26730.15实例。因此,我假设omnisharp提供的msbuild存在问题

不幸的是,我没有找到如何选择其他MSBuild实例或更改MSBuild_EXE_路径的常规方法(尝试-无效),因此我只是重命名了Standalone 16.0的.MSBuild文件夹。它接受了VS MSBUild实例,但给出了错误,所以我运行了VS安装程序并添加了.NET核心构建工具

在此之后,智能可以很好地与


你的想法行得通。当我通过删除和添加..\flow\bin\Debug\net45\flow.exe更改csproj时,intellisense开始工作。但这仍然是一种变通办法。希望看到一些修复或配置调整。干得好!感谢您的分享,我必须试一试。这很管用,但我不得不明确告诉omnisharp使用VS的msbuild,而不是它的“独立”版本(通过
omnisharp.json
),因为。
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