无法加载使用.NET Core编写的NuGet包

3
最近我尝试将我的开源项目GeographicLib.FSharp (https://github.com/SpiegelSoft/GeographicLib) 迁移到.NET Standard。我可以构建项目,打包并上传到NuGet,但是当我尝试将NuGet包加载到外部的.NET Standard库中时,结果却不尽相同。
使用dotnet new classlib -lang f#创建一个F#库,并通过Visual Studio添加NuGet包,看起来可以正常工作,但我无法访问在GeographicLib.FSharp库中定义的任何类型。
如果我使用Class Library (.NET Standard)模板创建一个C# .NET Standard库,然后将此包升级到.NET Standard 1.6,我就可以添加GeographicLib.FSharp NuGet包并像往常一样访问类型。
看起来在F# .NET Standard库中导入来自NuGet包的类型存在问题。
是否有修复或解决此问题的方法?

我很不想这么说,但是在将包添加到F#库后,您是否恢复并重新打开了解决方案/VS?不确定F#项目系统是否能够对deps更改做出反应,因此您可能会有一个设计时构建,它尚未看到新的引用.. - Martin Ullrich
但是请考虑使用 netstandard2.0,它能在当前工具(冲突解决)中避免一些问题。 - Martin Ullrich
1个回答

4

Visual Studio的F#扩展目前不支持.NET Standard或.NET Core项目。

有关更多信息和路线图,请参见https://blogs.msdn.microsoft.com/dotnet/2017/08/14/f-and-net-core-roadmap-update/

如果您认为这是一个问题,请在Visual F#存储库https://github.com/Microsoft/visualfsharp/issues中打开一个错误报告。

这些项目可以构建,但在Visual Studio中无法加载智能感知功能。

同时,您可以使用其他IDE/编辑器,例如:

  • 具有Ionide扩展的Visual Studio Code
  • JetBrains Rider
  • vim
  • emacs
  • Mac版Visual Studio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接