我在Windows上使用.NET核心3.1/5。
在运行dotnet build/dotnet run时,似乎一直存在Ionide报告错误的问题,以及似乎锁定DLL文件的问题,这些问题使我在关闭VS代码之前无法运行dotnet build,有时甚至需要手动终止dotnet进程。
在过去,当出现不一致时重新启动VS代码通常已经解决了问题(仅仅“清除项目缓存”似乎很少做任何事情)。不过,我一直在努力解决一个新项目的一个非常具体的问题:
报告的例外是: System.IO.FileNotFoundException -无法加载文件或程序集'FSharp.Core,Version=5.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f7f11d50a3a‘。系统找不到指定的文件。
当我试验了几个包版本和框架目标(netstandard2.0、netcoreapp3.1、net5)的组合时,确切的消息有所不同,但最终在构建/运行时完美工作的项目定义/DLL似乎由于各种原因而通过Ionide失败。
另一个例子是:
检测到包装降级: FSharp.Core从4.7.2降至4.7.1。直接从项目中引用包以选择不同的版本。
即使每个.fsproj文件都包括以下内容:
<PackageReference Include="FSharp.Core" Version="4.7.2" />我如何检查Ionide运行构建与dotnet build执行方式之间的差异?
发布于 2020-12-07 02:05:39
找到了解决当前项目当前问题的一件事: SDK中的.props文件具有以下内容:
<ItemGroup Condition="'$(DisableImplicitFSharpCoreReference)' != 'true'">
<PackageReference Include="FSharp.Core" Version="$(FSharpCoreImplicitPackageVersion)" />
</ItemGroup>增加:
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>在我的.fsproj文件中,现在看来所有引用相同版本的内容,而不是以前5.0.0 (未引用时)和4.7.1/4.7.2 (仅引用4.7.2 )之间的不一致。
https://stackoverflow.com/questions/65172496
复制相似问题