因此,在我的應用程序中,我有一個使用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。
讓我知道如果我需要提供一些額外的信息