FSLab模板提供错误"类型提供商' RProvider.RProvider'报告错误:类型提供程序构造函数抛出异常:无法在20秒内启动R.NET服务器"
我正在使用VS2015和fslab.org的最新模板
任何人都知道如何解决此错误?使用VS2013时出现同样的错误,所以我认为它与VS无关。
答案 0 :(得分:1)
RProvider.Server.exe期待FSharp.Core v4.3.0.0但与4.4捆绑在一起,如果你运行RProvider.Server.exe,你应该看到异常。解决方法是使用绑定重定向将RProvider.Server.exe.config文件添加到同一目录。
答案 1 :(得分:1)
这是一种痛苦。我假设您从NuGet添加了FsLab并尝试构建项目。正如@kev所说,当前稳定版本的FsLab(0.3.18)捆绑了错误版本的FSharp.Core.dll
。要查看@kev的含义,请转到$YOUR_PROJECT_DIR/packages/RProvider.1.1.17/lib/net40
目录,在那里打开命令窗口,然后运行RProvider.Server.exe
以查看自己的异常。
解决方法是创建一个绑定重定向,告诉运行时查找实际捆绑的程序集版本(4.4.0.0)而不是它期望的程序集版本(4.3.0.0)。为此,请在上述目录中创建一个名为RProvider.Server.exe.config
的文件,并将以下内容粘贴到其中...
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="4.3.0.0" newVersion="4.4.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
......你应该好好去。要检查,请从命令行运行RProvider.Server.exe
(它应该提供与之前不同的输出)或重建项目以检查错误消息是否停止显示。
显然,当FsLab NuGet包被整理出来时,这肯定会消失。