c# - 如何将包装器 DLL 连接到 API DLL 以便在 C# 项目中使用?

标签 c# c++ .net dll

我使用 Dynamic Audio Normalizer为我的 WF 解决方案规范化音频文件音量。它有两个 .dll 库,必须连接到项目才能使用。其中之一 - .NET 库连接良好,另一个 - API 根本无法用于项目。在运行时我得到一个详细描述的 FileNotFound 异常

Could not load file or assembly "DynamicAudioNormalizerNET.dll" or one of its dependencies .

文档中也写了

Microsoft.NET-based Application → Use the DynamicAudioNormalizerNET C++/CLI wrapper class, provided by the DynamicAudioNormalizerNET.dll assembly, requires DynamicAudioNormalizerAPI.dll at runtime.

它的依赖项当然是“DynamicAudioNormalizerAPI.dll”,但它在解决方案的文件夹中以及 NET.dll 中。此外,这两个库都作为文件添加到解决方案中,并且它们的“复制到输出”功能设置为“始终复制”。如何链接这两个 DLL 或使其正常运行?

最佳答案

有两个可能的原因。

  1. 第一个原因可能是 DynamicAudioNormalizerAPI.dll 没有和 DynamicAudioNormalizerNET.dll 放在一起。检查 Copy local reference property(在 Solution Explorer 中)并确保这两个 dll 放在一起。

  2. DynamicAudioNormalizerAPI.dll 可能有自己 Unresolved 依赖项。您可以通过使用特殊工具打开 .dll 轻松检查 Dependency Walker .如果您还需要一些 runtime 或其他东西,它会告诉您。

关于c# - 如何将包装器 DLL 连接到 API DLL 以便在 C# 项目中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37093204/

相关文章:

c# - 当使用 C# 删除和替换工作表时,如何保留公式对工作表的引用?

c++ - 这种将 unique_ptr 添加到 vector 的方式可以接受吗?

php - PHP 脚本可以在收到所有 POST 数据之前启动吗?

c# - 将视频流传输到YouTube(API)

c# - 继承抽象类并实现接口(interface)的模拟类

c# - 异步 WebAPI Controller 服务图像 - 挂起的 HTTP 请求

c# - 这个类最好的设计是什么?

c++ - 向类添加复制构造函数

c++ - 使用已在另一个已用库中定义的函数名称的库

c# - 如何确定配置部分或元素是从 app.config 还是从 machine.config 加载的?