使用F#(FSharp.Core 4.3.4)使用.NET Core 2.1类型提供程序

时间:2018-06-06 11:04:44

标签: f# .net-core type-providers

我们刚从.NET Core 2.0升级到.NET Core 2.1。我们可以使用Visual Studio 2017构建和发布我们的项目,但是我们无法使用.NET Core的CLI来实现。 SDK版本是2.1.300,这是我们在运行" dotnet publish"时得到的:

error FS3053 : The type provider 'ExcelProvider.ExcelProvider+ExcelProvider' reported an error : The type provider constructor has thrown an exception: Exception has been thrown by the target of an invocation.
FSC : warning FS3005: Referenced assembly 'C:\Users\XXX\.nuget\packages\excelprovider\0.8.2\lib\ExcelProvider.dll' has assembly level attribute 'Microsoft.FSharp.Core.CompilerServices.TypeProviderAssemblyAttribute' but no public type provider classes were found

F#是否与.NET Core 2.1不兼容?我知道.NET Core 2.1上周刚刚发布,但我无法在任何地方找到有关.NET Core 2.1支持的F#的声明。我找到的最接近的是MSDN blog post,其中指出"从.NET Core 2.0和.NET Standard 2.0的发布开始,我们为.NET Core 2.0中的F#支持所做的所有更改都将安装.NET Core SDK和.NET Core CLI"。

1 个答案:

答案 0 :(得分:2)

看起来这是ExcelProvider本身的一个问题,正如Don Syme在相关的github问题上所指出的那样:

  

ExcelProvider尚未更新,无法作为一部分运行   .NET Core工具链。最好在ExcelProvider上记录问题   站点,直到那时使用msbuild而不是你的新项目文件   dotnet https://github.com/Microsoft/visualfsharp/issues/5115#issuecomment-395101966