首页 > 解决方案 > DllNotFoundException:在 Windows 7 x64 上启动 RavenDB 4.2 时无法加载 DLL 'librvnpal'。如何纠正这个?

问题描述

安装了 VC 可再发行包。

以下是异常的详细信息:

Unhandled Exception: System.TypeInitializationException: The type initializer for 'Sparrow.Server.Platform.Pal' threw an exception. ---> Sparrow.Server.Platform.IncorrectDllException: librvnpal version might be invalid or not usable on current platform. Initialization error could also be caused by missing 'Microsoft Visual C++ 2015 Redistributable Package' (or newer). It can be downloaded from https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads ---> System.DllNotFoundException: Unable to load DLL 'librvnpal' or one of its dependencies: The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)
   at Sparrow.Server.Platform.Pal.rvn_get_pal_ver()
   at Sparrow.Server.Platform.Pal..cctor() in C:\Builds\RavenDB-Stable-4.2\42009\src\Sparrow.Server\Platform\Pal.cs:line 66
   --- End of inner exception stack trace ---
   at Sparrow.Server.Platform.Pal..cctor() in C:\Builds\RavenDB-Stable-4.2\42009\src\Sparrow.Server\Platform\Pal.cs:line 83
   --- End of inner exception stack trace ---
   at Sparrow.Server.Platform.Pal.rvn_get_current_thread_id()
   at Sparrow.Utils.NativeMemory.ThreadStats..ctor() in C:\Builds\RavenDB-Stable-4.2\42009\src\Sparrow\Utils\NativeMemory.cs:line 77
   at Sparrow.Utils.NativeMemory.<>c.<.cctor>b__25_1() in C:\Builds\RavenDB-Stable-4.2\42009\src\Sparrow\Utils\NativeMemory.cs:line 18
   at System.Threading.ThreadLocal`1.GetValueSlow()
   at Sparrow.Utils.NativeMemory.AllocateMemory(Int64 size, ThreadStats& thread) in C:\Builds\RavenDB-Stable-4.2\42009\src\Sparrow\Utils\NativeMemory.cs:line 114
   at Sparrow.Json.ArenaMemoryAllocator..ctor(SharedMultipleUseFlag lowMemoryFlag, Int32 initialSize) in C:\Builds\RavenDB-Stable-4.2\42009\src\Sparrow\Json\ArenaMemoryAllocator.cs:line 69
   at Sparrow.Json.JsonOperationContext..ctor(Int32 initialSize, Int32 longLivedSize, SharedMultipleUseFlag lowMemoryFlag) in C:\Builds\RavenDB-Stable-4.2\42009\src\Sparrow\Json\JsonOperationContext.cs:line 366
   at Sparrow.Json.JsonOperationContext.ShortTermSingleUse() in C:\Builds\RavenDB-Stable-4.2\42009\src\Sparrow\Json\JsonOperationContext.cs:line 306
   at Raven.Server.Utils.Cli.RuntimeSettings.TryGetRetainVMSettingValue() in C:\Builds\RavenDB-Stable-4.2\42009\src\Raven.Server\Utils\Cli\RuntimeSettings.cs:line 21
   at Raven.Server.Utils.Cli.RuntimeSettings.Describe() in C:\Builds\RavenDB-Stable-4.2\42009\src\Raven.Server\Utils\Cli\RuntimeSettings.cs:line 69
   at Raven.Server.Utils.Cli.RavenCli.GetInfoText() in C:\Builds\RavenDB-Stable-4.2\42009\src\Raven.Server\Utils\Cli\RavenCli.cs:line 551
   at Raven.Server.Program.Main(String[] args) in C:\Builds\RavenDB-Stable-4.2\42009\src\Raven.Server\Program.cs:line 93

标签: ravendbravendb4

解决方案


发现有关上述错误的两个问题,并在此处修复:https ://github.com/ravendb/ravenb/pull/9365

它们将在即将发布的 4.2.1 版本中提供(或本周晚些时候在 PR 合并后的夜间版本中提供)。


推荐阅读