我在 Azure 上有一个 Web 应用程序。它使用.NET Core 3.1。我在应用程序中使用两个 C++ DLL 文件作为依赖项。第一个 DLL 依赖于或使用第二个 DLL。当我在本地 Visual Studio 中运行该项目时,没有问题。当我将应用程序部署到 Azure 时,它仅从第二个 DLL 发出提示,并显示“无法加载 dll 或其依赖项之一”。正如我所说,第一个 DLL 通过使用“[DllImport(@"..\Folder\Second.dll")] 在其代码中使用第二个 DLL。我需要在网络应用程序中做什么或添加什么?为什么它可以在本地运行而不是在 Azure 上运行?任何帮助将不胜感激。
最佳答案
首先确保您的
.dll
不需要在本地计算机的注册表中注册。然后您可以将.dll
文件直接复制并粘贴到scm
网站中进行测试。如果能成功的话就可以支持。这样,我们只需要将以下代码添加到
.csproj文件
中,并在发布时包含您的.dll
文件即可。如果您的.dll需要在计算机注册表中注册,那么我可以明确地告诉您,不支持azure web应用程序,因为它是沙箱环境。
但是您可以通过 Azure 容器 Web 应用程序或虚拟机发布应用程序。
相关帖子
关于c# - Azure 和 C++ DLL 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67387819/