我在.Net 4.5运行时上使用FSharp.Core版本4.4.0.0在Visual Studio 2015社区更新2中编译Alea GPU教程:https://github.com/quantalea/AleaGPUTutorial时遇到错误 .
Fody:发生了未处理的异常:异常:无法加载文件或程序集'FSharp.Core, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'或其中一个依赖项 . 该系统找不到指定的文件 .
堆栈跟踪:
at Alea.CUDA.AOTCompileLogger..ctor(List`1 logs, Int32 warningCount, Int32 errorCount)
at Alea.CUDA.AOTCompileLogger..ctor()
at Alea.CUDA.AOTCompiler..ctor()
at Alea.CUDA.Fody.ModuleWeaver.Execute()
at lambda_method(Closure , Object )
at InnerWeaver.ExecuteWeavers() in c:\Code\Fody\FodyIsolated\InnerWeaver.cs:line 164
at InnerWeaver.Execute() in c:\Code\Fody\FodyIsolated\InnerWeaver.cs:line 82
Source:
Alea.CUDA
TargetSite:
Void .ctor(System.Collections.Generic.List`1[Alea.CUDA.AOTCompileLogEntry], Int32, Int32)
它发生在Tutorial.Cs和Tutorial.Fs项目中,无论我如何在所有可能的.config文件中设置 bindingRedirect
选项 . 看起来这些重定向被Fody引用加载机制忽略了 .
但是,即使将教程解决方案设置为FSharp.Core 4.3.1.0也不允许我编译它 . 错误是一样的 .
你对如何解决它有任何想法吗?
3 回答
我已经成功构建了几次,但它们完全是随机的,我无法弄清楚导致错误消失的原因 .
也许它是多次重新启动Visual Studio作为管理员的组合 .
此外,我也尝试了来自不同来源的
FSharp.Core.dll
随机结果:http://www.nuget.org/packages/FSharp.Core/
Visual F# Tools 4.0 RTM
./packages/Alea.CUDA/tools/
官方
在AleaGPUTutorial中写道:
从手册:
我完成了所写的内容,但只获得了随机构建成功 .
最后的希望
How to use FSharp.Core 4.3.0 when all you have is 4.3.1
好的,这对我有用 . 您所要做的就是将Fsharp.core 4.3.1.0添加到gac中 .
可以在此处找到有关如何执行此操作的说明:
http://forum.codio.com/t/solved-could-not-load-file-or-assembly-fsharp-core-version-4-3-0-0-error/1774
当我第一次尝试加载一个Alea 3.0.3样本时,我也遇到了类似的问题 . 我花了几分钟才弄明白,但这对我有用,并且运行示例文件非常简单 .
1)使用Visual Studio包管理器控制台运行带有sample.zip文件的./paket_setup.bat 2)从示例项目解决方案文件夹下添加了FSharp.Core.dll ./packages/FSharp.Core/lib/net40/FSharp .Core.dll
在此之后,该项目没有问题 .
我不需要在GAC中安装任何东西