开发者

Exception while trying to load a Berkeley DB DLL

I have a .NET 3.5 application that has a dependency on a C++ DLL (Berkeley DB- libdb_csharp51d.dll) and I'm able to run it on my Windows 7 machine without a problem, but I've tried on two other machines (Windows Server 2008 and Windows 7) and the app keeps getting the an exception.

The exception is:

System.DllNotFoundException: Unable to load DLL 'libdb_csharp51d': The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail. (Exception from HRESULT:0x800736B1)

The message in Event Viewer:

Activation context generation failed for "C:\Path\To\libdb_csharp51d.DLL". Dependent Assembly Microsoft.VC90.DebugCRT,processorArchitecture="amd64",publicKeyToken="AWUe.k,PRvnbjRtZ",type="win32",version="9.0.21022.8" could not be found. Please use sxstrace.exe for detailed diagnosis.

(note that I've encrypted the public key token)

The folder structure is as such:

C:\Path\To\

+开发者_如何学Python myapplication.exe

+ some.DLL

+ libdb_csharp51d.DLL

+ someother.DLL

I ran the application on my machine to make sure it works fine, then I copied the folder, as it is, directly on to the server so there is no difference between the contents of the folder between the server and my machine. I did the same thing with the other Win7 machine as well (all of the machines are 64 bit). Initially I thought that the issue would be resolved once I install Berkeley DB, but even after I installed it, I still got the same exception.

Does anybody know what may be causing this issue? Are there any fixes/workarounds?


It is looking for a msvcrtd.dll (or one with a version number). You should have it somewhere on the development PC.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜