Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core .net标准Fsharp.Core 4.7.0.0=4.5.2?_.net Core_F#_Plotly - Fatal编程技术网

.net core .net标准Fsharp.Core 4.7.0.0=4.5.2?

.net core .net标准Fsharp.Core 4.7.0.0=4.5.2?,.net-core,f#,plotly,.net Core,F#,Plotly,我正在尝试在f#项目中使用Xplot.Plotly,使用 Visual Studio for Mac。当我调试时,我获得 "Could not load file or assembly 'FSharp.Core, Version=4.7.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. 如果我运行dotnet,我将获得: Unhandled exception. Cannot print exception strin

我正在尝试在f#项目中使用Xplot.Plotly,使用 Visual Studio for Mac。当我调试时,我获得

"Could not load file or assembly 
'FSharp.Core, Version=4.7.0.0, 
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
如果我运行dotnet,我将获得:

Unhandled exception. 
   Cannot print exception string because Exception.ToString() failed.
项目文件引用如下所示

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="Program.fs" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="MathNet.Numerics.FSharp" Version="4.9.1" />
    <PackageReference Include="XPlot.Plotly" Version="3.0.1" />
    <PackageReference Include="FSharp.Core" Version="4.7.1" />
  </ItemGroup>
</Project>

Exe
netcoreapp3.1
项目视图屏幕截图如下所示:

我不清楚为什么VS显示的是4.5.2而不是4.7.0.0

我还尝试将Fsharp.core.dll版本4.7.0.0明确地移动到bin目录。从控制台,结果是相同的。如果通过Visual studio运行Fsharp.core.dll,则版本4.7.0.0将被4.5.2.0覆盖,并以与上面相同的方式失败


更新:解决方法就是从VisualStudio中进行清理。然后从控制台运行dotnetbuild。然后,如果需要,可以从VisualStudio进行调试

目前,VS for Mac需要Mono,它被锁定为F#4.5,并且在加载.NET标准2.0组件时有许多其他问题。最终,VS for Mac将被更新,它将支持加载更高版本的F#编译器和FSharp.Core。

目前,VS for Mac需要Mono,Mono被锁定在F#4.5上,并且在加载.NET标准2.0组件时有许多其他问题。最终,VS for Mac将被更新,它将支持加载更高版本的F#编译器和FSharp.Core。

尝试设置
COREHOST_TRACE=1
以获取程序集绑定日志。@Asti谢谢。我确实这样做了,但是它没有改变任何东西,因为使用命令行会引发未处理的异常,而visual studio则在调试时抱怨文件未找到依赖项。@Asti实际上我在设置env变量后从中获得了一个跟踪文件。一切看起来都很好。e、 g.所有“探测的deps json和匹配的”跟踪打印在
stderr
,而不是
stdout
,因此您必须捕获它。4.7可能被项目本身引用(而非nuget)。你能在文本编辑器中打开fsproj并检查吗?@asti项目文件确实指向FSharp.Core 4.7.1。不确定为什么VS显示为4.5.2。但是,当我查看跟踪时,只使用了4.5.2,没有使用4.7。在跟踪中。尝试设置
COREHOST\u trace=1
以获取程序集绑定日志。@Asti谢谢。我确实这样做了,但是它没有改变任何东西,因为使用命令行会引发未处理的异常,而visual studio则在调试时抱怨文件未找到依赖项。@Asti实际上我在设置env变量后从中获得了一个跟踪文件。一切看起来都很好。e、 g.所有“探测的deps json和匹配的”跟踪打印在
stderr
,而不是
stdout
,因此您必须捕获它。4.7可能被项目本身引用(而非nuget)。你能在文本编辑器中打开fsproj并检查吗?@asti项目文件确实指向FSharp.Core 4.7.1。不确定为什么VS显示为4.5.2。但是,当我查看跟踪时,只使用了4.5.2,没有使用4.7。在任何痕迹中。