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
Can';t使用最新版本的RProvider:R.NET初始化失败_R_F#_Type Providers - Fatal编程技术网

Can';t使用最新版本的RProvider:R.NET初始化失败

Can';t使用最新版本的RProvider:R.NET初始化失败,r,f#,type-providers,R,F#,Type Providers,遇到来自RProvider的相当奇怪的行为: RDotNet的最新版本本身工作正常。 RProvider的旧版本(高达1.1.15)也不会产生任何问题。 但任何最新版本(从1.1.17到最新的1.1.22)都会抛出以下错误:“R.NET初始化失败”(即使没有导入RProvider模块)。此外,代码的第一行以红色突出显示,并带有以下警告:(“引用的程序集RProvider.dll具有程序集级属性TypeProviderAssemblyAttribute,但未找到公共类型提供程序类”)。 深入研究这

遇到来自RProvider的相当奇怪的行为:

RDotNet的最新版本本身工作正常。 RProvider的旧版本(高达1.1.15)也不会产生任何问题。 但任何最新版本(从1.1.17到最新的1.1.22)都会抛出以下错误:“R.NET初始化失败”(即使没有导入RProvider模块)。此外,代码的第一行以红色突出显示,并带有以下警告:(“引用的程序集RProvider.dll具有程序集级属性TypeProviderAssemblyAttribute,但未找到公共类型提供程序类”)。 深入研究这个问题,我发现RProvider日志抱怨缺少R.dll(当然是存在的)

[07.04.2019 0:49:22][Pid:10260,Tid:19,Apid:1]initand生成:启动
[07.04.2019 0:49:22][Pid:10260,Tid:19,Apid:1]启动服务器'C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\RProvider.server.exe',带参数'RInteropServer\u 10260\u 1436675\u 1958578678“C:\Users\Vat\AppData\Local\Temp\tmp38A0.tmp'(exists=true)
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]使用参数“[|”RInteropServer_10260_14366875_1958578678”启动“RProvider.Server”;
“C:\Users\Vat\AppData\Local\Temp\tmp38A0.tmp”|]'
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]在“RInteropServer_10260_14366875_1958578678”频道注册RInteropServer
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]已准备好连接。。
[07.04.2019 0:49:22][Pid:10260,Tid:19,Apid:1]正在尝试通过IPC连接
[07.04.2019 0:49:22][Pid:10260,Tid:19,Apid:1]得到一些服务器
[07.04.2019 0:49:22][Pid:9292,Tid:5,Apid:1]正在尝试解析'RDotNet,Version=1.7.0.0,Culture=neutral,PublicKeyToken=null'
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]正在等待父进程Pid=10260(System.Diagnostics.process(devenv))
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]服务器已启动,正在运行事件循环
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]服务器事件循环:正在启动
[07.04.2019 0:49:22][Pid:9292,Tid:5,Apid:1]探测位置:C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\..\packages\R.NET.1.7.0\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\..\..\..\..\..\packages\R.NET.FSharp.1.7.0\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\..\..\..\..\..\packages\RProvider.1.22\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\..\..\..\..\..\..\packages\DynamicInterop.0.8.1\lib\netstandard1.2;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\..\..\..\..\..\packages\FSharp.Core.4.6.2\lib\net45
[07.04.2019 0:49:22][Pid:9292,Tid:5,Apid:1]找到程序集,正在检查版本!(C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\..\packages\R.NET.1.7.0\lib\net40\RDotNet.dll)
[07.04.2019 0:49:22][Pid:9292,Tid:5,Apid:1]…版本匹配,正在返回!
[07.04.2019 0:49:22][Pid:9292,Tid:5,Apid:1]正在尝试解析“DynamicInterop,版本=0.8.1.0,区域性=中性,PublicKeyToken=null”
[07.04.2019 0:49:22][Pid:9292,Tid:5,Apid:1]探测位置:C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\..\packages\R.NET.1.7.0\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\..\..\..\..\..\packages\R.NET.FSharp.1.7.0\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\..\..\..\..\..\packages\RProvider.1.22\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\..\..\..\..\..\..\packages\DynamicInterop.0.8.1\lib\netstandard1.2;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\..\..\..\..\..\packages\FSharp.Core.4.6.2\lib\net45
[07.04.2019 0:49:22][Pid:9292,Tid:5,Apid:1]找到程序集,正在检查版本!(C:\Users\Vat\source\repos\RTest\packages\RProvider.1.22\lib\net40\..\..\..\..\..\packages\DynamicInterop.0.8.1\lib\netstandard1.2\DynamicInterop.dll)
[07.04.2019 0:49:22][Pid:9292,Tid:5,Apid:1]…版本匹配,正在返回!
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]findRHomePath
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]获取位置
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]findRHomePath:file='C:\Dev\R\R-3.4.1\bin\x64\R.dll'
[07.04.2019 0:49:22][Pid:10260,Tid:19,Apid:1]GenerateType:获取软件包
[07.04.2019 0:49:22][Pid:9292,Tid:5,Apid:1]将工作项添加到队列
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]服务器事件循环:获取工作项
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]eval(.packages(all.available=T))
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]引擎:创建和初始化实例(sizeof=8)
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]引擎:创建实例失败:
System.Exception:此64位进程未能加载库C:\Dev\R\R-3.4.1\bin\x64\R.dll。本机错误消息为“系统找不到指定的文件”
在DynamicInterop.UnmanagedDll.ThrowFailedLibraryLoad处(字符串dllFullName,字符串nativeError)
在DynamicInterop.UnmanagedDll..ctor处(字符串dllName)
在RDotNet.REngine..ctor(字符串id,字符串dll)
位于RDotNet.REngine.CreateInstance(字符串id,字符串dll)
在RDotNet.REngine.GetInstance(字符串dll、布尔初始化、StartupParameter参数、ICharacterDevice)
在RProvider.Internal.RInit。engine@119.Invoke()在C:\FSharp\RProvider\src\RProvider\RInit.fs中:第126行
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]输出:
[07.04.2019 0:49:22][Pid:9292,Tid:1,Apid:1]操作失败:
System.Exception:初始化R.NET失败-->System.Exception:此64位进程未能加载库C:\Dev\R\R-3.4.1\bin\x64\R.dll。本机错误消息为“系统找不到指定的文件”
在DynamicInterop.UnmanagedDll.ThrowFailedLibraryLoad处(字符串dllFullName,字符串nativeError)
在DynamicInterop.UnmanagedDll..ctor处(字符串dllName)
在
[07.04.2019 0:49:22] [Pid:10260, Tid:19, Apid:1] initAndGenerate: starting
[07.04.2019 0:49:22] [Pid:10260, Tid:19, Apid:1] Starting server 'C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\RProvider.Server.exe' with arguments 'RInteropServer_10260_14366875_1958578678 "C:\Users\Vat\AppData\Local\Temp\tmp38A0.tmp"' (exists=true)
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] Starting 'RProvider.Server' with arguments '[|"RInteropServer_10260_14366875_1958578678";
"C:\Users\Vat\AppData\Local\Temp\tmp38A0.tmp"|]'
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] Registering RInteropServer at channel 'RInteropServer_10260_14366875_1958578678'
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] Ready for connections..
[07.04.2019 0:49:22] [Pid:10260, Tid:19, Apid:1] Attempting to connect via IPC
[07.04.2019 0:49:22] [Pid:10260, Tid:19, Apid:1] Got some server
[07.04.2019 0:49:22] [Pid:9292, Tid:5, Apid:1] Attempting resolution for 'RDotNet, Version=1.7.0.0, Culture=neutral, PublicKeyToken=null'
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] Waiting for parent process pid=10260 (System.Diagnostics.Process (devenv))
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] Server started, running event loop
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] server event loop: starting
[07.04.2019 0:49:22] [Pid:9292, Tid:5, Apid:1] Probing locations: C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\R.NET.1.7.0\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\R.NET.FSharp.1.7.0\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\RProvider.1.1.22\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\DynamicInterop.0.8.1\lib\netstandard1.2;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\FSharp.Core.4.6.2\lib\net45
[07.04.2019 0:49:22] [Pid:9292, Tid:5, Apid:1] Found assembly, checking version! (C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\R.NET.1.7.0\lib\net40\RDotNet.dll)
[07.04.2019 0:49:22] [Pid:9292, Tid:5, Apid:1] ...version matches, returning!
[07.04.2019 0:49:22] [Pid:9292, Tid:5, Apid:1] Attempting resolution for 'DynamicInterop, Version=0.8.1.0, Culture=neutral, PublicKeyToken=null'
[07.04.2019 0:49:22] [Pid:9292, Tid:5, Apid:1] Probing locations: C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\R.NET.1.7.0\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\R.NET.FSharp.1.7.0\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\RProvider.1.1.22\lib\net40;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\DynamicInterop.0.8.1\lib\netstandard1.2;C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\FSharp.Core.4.6.2\lib\net45
[07.04.2019 0:49:22] [Pid:9292, Tid:5, Apid:1] Found assembly, checking version! (C:\Users\Vat\source\repos\RTest\packages\RProvider.1.1.22\lib\net40\..\..\..\..\packages\DynamicInterop.0.8.1\lib\netstandard1.2\DynamicInterop.dll)
[07.04.2019 0:49:22] [Pid:9292, Tid:5, Apid:1] ...version matches, returning!
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] findRHomePath
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] getRLocation
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] findRHomePath: file='C:\Dev\R\R-3.4.1\bin\x64\R.dll'
[07.04.2019 0:49:22] [Pid:10260, Tid:19, Apid:1] generateTypes: getting packages
[07.04.2019 0:49:22] [Pid:9292, Tid:5, Apid:1] Adding work item to queue
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] server event loop: got work item
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] eval(.packages(all.available=T))
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] engine: Creating and initializing instance (sizeof<IntPtr>=8)
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] engine: Creating instance failed:
System.Exception: This 64-bit process failed to load the library C:\Dev\R\R-3.4.1\bin\x64\R.dll. Native error message is 'The system cannot find the file specified'
 at DynamicInterop.UnmanagedDll.ThrowFailedLibraryLoad(String dllFullName, String nativeError)
 at DynamicInterop.UnmanagedDll..ctor(String dllName)
 at RDotNet.REngine..ctor(String id, String dll)
 at RDotNet.REngine.CreateInstance(String id, String dll)
 at RDotNet.REngine.GetInstance(String dll, Boolean initialize, StartupParameter parameter, ICharacterDevice device)
 at RProvider.Internal.RInit.engine@119.Invoke() in C:\FSharp\RProvider\src\RProvider\RInit.fs:line 126
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] Output: 
[07.04.2019 0:49:22] [Pid:9292, Tid:1, Apid:1] Operation failed:
System.Exception: Initialization of R.NET failed ---> System.Exception: This 64-bit process failed to load the library C:\Dev\R\R-3.4.1\bin\x64\R.dll. Native error message is 'The system cannot find the file specified'
 at DynamicInterop.UnmanagedDll.ThrowFailedLibraryLoad(String dllFullName, String nativeError)
 at DynamicInterop.UnmanagedDll..ctor(String dllName)
 at RDotNet.REngine..ctor(String id, String dll)
 at RDotNet.REngine.CreateInstance(String id, String dll)
 at RDotNet.REngine.GetInstance(String dll, Boolean initialize, StartupParameter parameter, ICharacterDevice device)
 at RProvider.Internal.RInit.engine@119.Invoke() in C:\FSharp\RProvider\src\RProvider\RInit.fs:line 126
 --- End of inner exception stack trace ---
 at RProvider.Internal.RInit.engine@119.Invoke() in C:\FSharp\RProvider\src\RProvider\RInit.fs:line 137
 at System.Lazy`1.CreateValue()
 at System.Lazy`1.LazyInitValue()
 at RProvider.RInteropInternal.eval@292.Invoke(Unit unitVar0) in C:\FSharp\RProvider\src\RProvider\RInterop.fs:line 293
 at RProvider.Internal.Logging.logWithOutput[a](CharacterDeviceInterceptor characterDevice, FSharpFunc`2 f) in C:\FSharp\RProvider\src\RProvider\Logging.fs:line 57
[07.04.2019 0:49:22] [Pid:10260, Tid:19, Apid:1] RProvider constructor failed: System.Exception: Initialization of R.NET failed ---> System.Exception: This 64-bit process failed to load the library C:\Dev\R\R-3.4.1\bin\x64\R.dll. Native error message is 'The system cannot find the file specified'
 at DynamicInterop.UnmanagedDll.ThrowFailedLibraryLoad(String dllFullName, String nativeError)
 at DynamicInterop.UnmanagedDll..ctor(String dllName)
 at RDotNet.REngine..ctor(String id, String dll)
 at RDotNet.REngine.CreateInstance(String id, String dll)
 at RDotNet.REngine.GetInstance(String dll, Boolean initialize, StartupParameter parameter, ICharacterDevice device)
 at RProvider.Internal.RInit.engine@119.Invoke() in C:\FSharp\RProvider\src\RProvider\RInit.fs:line 126
 --- End of inner exception stack trace ---

Server stack trace: 
 at RProvider.Server.EventLoop.runServerCommandSafe[a](FSharpFunc`2 f) in C:\FSharp\RProvider\src\RProvider\RInteropServer.fs:line 63
 at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
 at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]: 
 at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
 at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
 at RProvider.Internal.IRInteropServer.GetPackages()
 at RProvider.RTypeBuilder.generateTypes@26-2.GenerateNext(IEnumerable`1& next) in C:\FSharp\RProvider\src\RProvider.DesignTime\RTypeBuilder.fs:line 27
 at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
 at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System-Collections-IEnumerator-MoveNext()
 at Microsoft.FSharp.Collections.SeqModule.ToList[T](IEnumerable`1 source)
 at RProvider.RTypeBuilder.generateTypes@24-1.GenerateNext(IEnumerable`1& next) in C:\FSharp\RProvider\src\RProvider.DesignTime\RTypeBuilder.fs:line 25
 at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
 at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System-Collections-IEnumerator-MoveNext()
 at Microsoft.FSharp.Collections.SeqModule.ToList[T](IEnumerable`1 source)
 at RProvider.RInteropClient.withServer[a](FSharpFunc`2 f) in C:\FSharp\RProvider\src\RProvider.DesignTime\RInteropClient.fs:line 121
 at RProvider.RTypeBuilder.initAndGenerate@104.GenerateNext(IEnumerable`1& next) in C:\FSharp\RProvider\src\RProvider.DesignTime\RTypeBuilder.fs:line 109
 at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
 at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System-Collections-IEnumerator-MoveNext()
 at Microsoft.FSharp.Collections.SeqModule.ToList[T](IEnumerable`1 source)
 at RProvider.RProvider.buildTypes() in C:\FSharp\RProvider\src\RProvider.DesignTime\RProvider.fs:line 33