因此,在我的应用程序中,我有一个使用Pinvoke调用win32 dll中定义的某些函数的actor。我也有一个叫这些演员的前端web服务。使用PInvoke在Azure服务结构中加载dll
当我在本地运行时,一切正常。 win32 dll被找到并正确加载,我的演员可以从那里调用函数。
但是,当我将解决方案部署到Azure时,我只是在演员尝试加载dll时收到内部服务器错误。 Theres没有描述性错误,所以我认为演员要么找不到dll,要么找不到它的某个依赖关系。 我已经尝试过使用dependency walker来找出依赖关系。大多数是典型的Windows二进制文件,但vcruntime140.dll除外。我已将此添加到VS项目通过对项目右击一个资源文件,然后导航到添加>现有项,然后编辑资源的“复制到输出目录”属性的解决方案资源管理器“始终复制”。这是否正确的方式部署一个本地DLL服务结构?我也在发布模式下运行,所以不应该有任何调试DLL的需要。
一些额外的信息 - 我的项目最初从网络API项目移植过来,我能够在释放模式托管在Azure上我的网络API时成功调用函数在Win32 DLL。
让我知道如果我需要提供一些额外的信息