Rag*_*eer 4 c# asp.net dll web-services
嗨,我有一个C dll,它将与cobol应用程序进行交互.我们想通过互联网将数据发送到cobol.
所以我创建了一个C#DLL,它将调用C DLL.当我做一个consoleapp时,它的工作正常,但是当我尝试从ASP.NET调用相同的DLL时,它给出错误消息
我不明白这个错误
An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
Run Code Online (Sandbox Code Playgroud)
还有其他一些相关的帖子,但那些不符合我的上下文我认为我缺少permissionsasp.net
这是我的c#dll中用于调用c dll的声明
[DllImport(@"C:\CCExpert\haz450cp.dll", EntryPoint = "Methodname", CallingConvention = CallingConvention.Cdecl)]
unsafe public static extern void Methodname(ref p1, ref p2);
Run Code Online (Sandbox Code Playgroud)
嗨我根据你的建议改变了设置,但现在我得到一个新的错误
Microsoft Visual Studio C Runtime Library has detected a fatal error in w3wp.exe
Run Code Online (Sandbox Code Playgroud)
如果你有一个C .dll,它将是32位或64位.您必须确保您的站点在正确的平台上运行(即,您的站点作为匹配的32/64位站点运行.)
在IIS 7中,您可以通过右键单击应用程序池并选择来配置应用程序池的位数Advanced Settings.有一个名为的设置Enable 32-bit applications,您需要将其设置True为32位站点和False64位站点.
您可以使用Dependency Walker查看DLL是32位还是64位:使用View full paths(C:\在工具栏上看起来像)以及.dll的依赖项和:
这告诉您如何设置应用程序池.要设置应用程序池,您可以查看此链接.
确保Advanced Settings在打开应用程序池属性时使用,而不是在打开基本设置时使用.此外,当您为站点启用属性时,这些设置不可用 - 它们仅适用于应用程序池.
| 归档时间: |
|
| 查看次数: |
3430 次 |
| 最近记录: |