c# - Azure 和 C++ DLL 文件

标签 c# c++ azure azure-web-app-service dllimport

我在 Azure 上有一个 Web 应用程序。它使用.NET Core 3.1。我在应用程序中使用两个 C++ DLL 文件作为依赖项。第一个 DLL 依赖于或使用第二个 DLL。当我在本地 Visual Studio 中运行该项目时,没有问题。当我将应用程序部署到 Azure 时,它​​仅从第二个 DLL 发出提示,并显示“无法加载 dll 或其依赖项之一”。正如我所说,第一个 DLL 通过使用“[DllImport(@"..\Folder\Second.dll")] 在其代码中使用第二个 DLL。我需要在网络应用程序中做什么或添加什么?为什么它可以在本地运行而不是在 Azure 上运行?任何帮助将不胜感激。

最佳答案

  1. 首先确保您的 .dll 不需要在本地计算机的注册表中注册。然后您可以将.dll文件直接复制并粘贴到scm网站中进行测试。如果能成功的话就可以支持。

    这样,我们只需要将以下代码添加到.csproj文件中,并在发布时包含您的.dll文件即可。

    The specified files are included in the release.

  2. 如果您的.dll需要在计算机注册表中注册,那么我可以明确地告诉您,不支持azure web应用程序,因为它是沙箱环境。

    但是您可以通过 Azure 容器 Web 应用程序或虚拟机发布应用程序。

    相关帖子

    DLLImport does not work on Azure App Service Net. 3.1

关于c# - Azure 和 C++ DLL 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67387819/

相关文章:

c# - 正则表达式中的双重否定回顾

c++ - 我应该考虑网络字节顺序吗?

azure - 使用 cloud-Init 在 Azure 上安装 docker 和 docker-compose

web-services - Azure Web App 响应时间较长

azure devops ,仅 checkout CI 中的 runner 分支

c# - 如何减轻在 C# 中初始化列表字典的痛苦?

c# - .NET 5 + 自定义 appsettings.json - SPA 默认页面中间件无法返回默认页面

c# - 如何枚举所有任务,如 Visual Studio 任务窗口

c++ - 仅 header 库循环依赖

c++ - 使用 Qt 和 C++ 连续绘制对象