2012-11-21 163 views
0

我已经尝试在IIS中托管的ASP.NET 4 Web应用程序的 上使用NMath库。虽然它完美Ø开发机,在服务器上,它抛出此异常:NMath IIS访问被拒绝

Unable to load DLL 'nmath_native_x86.dll': Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.DllNotFoundException: Unable to load DLL 'nmath_native_x86.dll': Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[DllNotFoundException: Unable to load DLL 'nmath_native_x86.dll': Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))]
CenterSpace.NMath.Kernel.DotNetBlas.ca985db1fb290841a533a3547ace1ae2b(Int32* ca9e3f1c0641beace93cb8eb4a27060d6, Double* cf339080161dff75cfd1b46a10c2eec70, Int32* c757a2154665e6da4d820f8c504ec2601, Double* c00a69c4fa5b6d809b68a96ca184dcf79, Int32* c1565590bf448d2c630952a0391360cc3) +0
CenterSpace.NMath.Kernel.DotNetBlas.copy(Int32 n, DoubleDataBlock x, Int32 xOffset, Int32 incx, DoubleDataBlock y, Int32 yOffset, Int32 incy) +149 CenterSpace.NMath.Core.DoubleVector.set_Item(Slice slice, DoubleVector value) +165

虽然我已阅读在这里,这可能与类似的AppPool或东西的 权限,我不能似乎指出了这个问题。会是什么呢?!

回答

2

这可能是一些选项。

1)是否安装了C++运行库?没有它,NMath无法加载本地dll。请参阅此处的部署部分:http://centerspace.net/doc/NMath/user/overview-83427.htm#Xoverview-83427

2)也许您没有正确配置NMath?您可以执行NMathConfiguration.NativeLocation指向一个位置。更多在这里:

http://centerspace.net/doc/NMathSuite/ref/html/T_CenterSpace_NMath_Core_NMathConfiguration.htm

最后,请使用NMathConfiguration.LogLocation生成日志文件。生成的日志文件会告诉你什么是错的。

  • 特雷弗