【发布时间】:2016-07-22 05:11:25
【问题描述】:
在 .Net 4.5 运行时使用 FSharp.Core 版本 4.4.0.0 在 Visual Studio 2015 Community Update 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)
无论我如何在所有可能的 .config 文件中设置bindingRedirect 选项,Tutorial.Cs 和 Tutorial.Fs 项目都会发生这种情况。 Fody 引用加载机制似乎忽略了这些重定向。
但是,即使将教程解决方案设置为 FSharp.Core 4.3.1.0 也不允许我编译它。错误是一样的。
您对如何解决它有任何想法吗?
【问题讨论】:
-
所有推荐设置似乎都已到位,除了:不要将 FSharp.Core 与库捆绑 不要在库中包含 FSharp.Core 的副本或包裹。如果这样做,您将为图书馆的用户造成严重破坏。关于库绑定到哪个 FSharp.Core 的决定取决于库的应用程序托管。库和/或库包可以对此施加限制,但它没有决定。 不幸的是,Alea.* NuGet 包确实捆绑了 FSharp.Core 4.3.1.0,但它没有被使用在构建期间。
-
我可以看到 App.config 的截图?
-
不幸的是,我只有 VS2012 - 所以我无法复制您的错误。
-
有空的时候联系我