.NET Core 应用程序无法加载 C++ DLL

Posted

技术标签:

【中文标题】.NET Core 应用程序无法加载 C++ DLL【英文标题】:.NET Core Application Fails to Load C++ DLL 【发布时间】:2018-07-31 14:20:38 【问题描述】:

我有一个 .NET 核心应用程序,它加载一个用 C++ 编写的 DLL 并调用从该 DLL 导出的函数:

[DllImport("G729DecodeDLL.dll")]

当我在我的 PC 上本地运行它时它运行良好,但是当我将它部署在运行 Windows Server 2016 的服务器上时,我在调用从该 DLL 导出的函数时收到以下错误:

“System.DllNotFoundException:无法加载 DLL 'G729DecodeDLL.dll':此操作仅在应用容器的上下文中有效。”

【问题讨论】:

【参考方案1】:

这个错误几乎总是意味着目标机器上不存在 DLL 的依赖项。通常这意味着 DLL 所需的 C++ 运行时。找出 DLL 有哪些依赖项,并确保它们在目标机器上得到满足。

【讨论】:

就是这样。谢谢!

以上是关于.NET Core 应用程序无法加载 C++ DLL的主要内容,如果未能解决你的问题,请参考以下文章

.Net Core T4 运行转换无法加载文件或程序集

ASP.NET Core MVC 项目无法加载程序集

从 .Net Core 运行 Powershell - 无法加载文件或程序集 Microsoft.Management.Infrastructure

.NET Core 应用程序 |信息系统 | HTTP 错误 500 - 无法加载配置。异常消息:需要属性“processPath”

HTTP 错误 500.31 - 无法加载 ASP.NET Core 运行时

ASP.NET Core 无法在 IIS 下运行:HTTP 错误 500.0 - ANCM 进程内处理程序加载失败