以下是否有简单的解决方法?或者这是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
我在MainProgram中添加了一个对ClassLibrary的项目引用.
dotnet add reference ..\ClassLibrary\ClassLibrary.fsproj
我更新了Program.cs以调用ClassLibrary.
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个编译器错误.
我也试过单独打开项目文件夹.
>如果我在F#库项目中打开VS Code,Intellisense会工作.
>如果我在C#控制台项目中打开VS Code,编辑器仍然无法识别F#库中的类型.
更新
我有VS Code版本1.15.1,安装了五个扩展.
> C#,1.12.1
> Ionide-fsharp,2.33.0
>语言PL / sql,1.0.4
>单声道调试,0.15.7
> XML工具,1.9.2
解决方法
看起来我们只需要等待
this fix.
并且,如果您安装了Visual Studio Build Tools 2017,请更新到the latest version and F# compiler workload.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。