当前位置: 首页 > 编程语言 > C#

无法从ASP.NET调用DLLShare

时间:2023-04-10 23:40:34 C#

无法从ASP.NET调用DLL我们想通过互联网将数据发送到cobol。所以我创建了一个C#DLL,它将调用CDLL。当我制作一个控制台应用程序时它工作正常但是当我尝试从ASP.NET调用相同的DLL时它给出错误消息我不理解这个错误试图加载一个格式不正确的程序。(HRESULT的例外:0x8007000B)也有一些关于此的帖子,但这些帖子不符合我的上下文我想我缺少asp.net的权限这是我的c#dll中用于调用cdll[DllImport(@"C:CCExperthaz450cp.dll",EntryPoint="Methodname",CallingConvention=CallingConvention.Cdecl)]unsafepublicstaticexternvoidMethodname(refp1,refp2);编辑:您好,我根据您的建议更改了设置,但现在我收到一个新错误MicrosoftVisualStudioCRuntimeLibraryhasdetectedafatalerrorinw3wp.exe如果您有C.dll,它将是32位或64位。您必须确保您的站点在正确的平台上运行(即您的站点作为匹配的32/64位站点运行。)在IIS7中,您可以通过右键单击应用程序池并选择高级设置来配置它应用程序池。有一个名为启用32位应用程序的设置,您需要将其设置为True用于32位站点和False用于64位站点。您可以使用DependencyWalker查看DLL是32位还是64位:使用Viewfullpaths(看起来像工具栏上的C:)和.dll的依赖项:这会告诉您如何设置应用程序池。要设置应用程序池,您可以查看此链接。确保在打开应用程序池属性时使用高级设置,而不是基本设置。此外,当您为站点启用属性时,这些设置不可用-它们仅适用于应用程序池。导致此问题的最可能原因是您尝试将32位DLL加载到64位进程中(或相反)。要验证或解决此问题,请检查Asp.Net是否以64位模式运行,如果是,则需要64位版本的CDLL教程:您无法从ASP.NET调用DLL以共享所有内容.如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: