无法加载 DLL 'LibFlac': 找不到指定的模块。 (HRESULT 异常:0x8007007E)
Unable to load DLL 'LibFlac': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
HERE 是我项目的 link。
错误在第 107 行:"context = FLAC__stream_encoder_new();" in file: FlacWriter.cs --> 我没有写那个文件。我从 HERE
得到的
所以我知道 libFLAC.dll 不见了。所以我尝试了以下所有方法来解决问题:
我从 rarewares 下载了 libFLAC dll。org/lossless.php#flac-dll-x64 我试图将其添加为参考,但出现此错误:
"A reference to C:\CodeProjects\WaveConverter\WaveConverter\Libraries\libFLC_dynamic.dll' could not be added. Please make sure that the file is accessible, and that it is valid assembly or COM component."
我尝试了其他方法:我将 dll 文件添加到 bin/Debug,重新打开了我的项目。 运行 又是这个项目。线上同样的错误:“context = FLAC__stream_encoder_new();”错误:"Unable to load DLL 'LibFlac': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"
我也试过 'importing' DLL 在我的代码中是这样的:我试图在我的项目文件的第 14 行下面添加这一行:“[DllImport("libFLAC.dll")]”:Worker.cs
我得到这个错误:“重复 'DLLimport' 属性'
我还从 dependencywalker.com 下载了 dependency-walker 不知道如何操作它,但是当它下载完成后,我点击了打开图标并打开了我试图添加到的 libFLAC_dynamic.dll 文件该项目。而且没有错误。不过我不确定如何使用这个 dependencyWalker...
我还能尝试什么?我该如何解决这个错误?
您是 p/invoking 一个非托管库名称 LibFlac.dll
。当您第一次从库中调用函数时,您需要该库及其依赖项位于 DLL 搜索路径中。通常这意味着执行以下操作:
- 将
LibFlac.dll
放在与您的可执行文件相同的目录中,并且
- 正在安装
LibFlac.dll
具有的所有依赖项。通常这将是 MSVC C++ 运行时。仔细阅读文档,找出 DLL 有哪些依赖项。
这是一个非托管 DLL。不要试图将其添加为参考。您拥有的 DLL 似乎也被命名为 libFLC_dynamic.dll
,这与您的代码期望的名称不同。你有正确的 DLL 吗?
HERE 是我项目的 link。
错误在第 107 行:"context = FLAC__stream_encoder_new();" in file: FlacWriter.cs --> 我没有写那个文件。我从 HERE
得到的所以我知道 libFLAC.dll 不见了。所以我尝试了以下所有方法来解决问题:
我从 rarewares 下载了 libFLAC dll。org/lossless.php#flac-dll-x64 我试图将其添加为参考,但出现此错误: "A reference to C:\CodeProjects\WaveConverter\WaveConverter\Libraries\libFLC_dynamic.dll' could not be added. Please make sure that the file is accessible, and that it is valid assembly or COM component."
我尝试了其他方法:我将 dll 文件添加到 bin/Debug,重新打开了我的项目。 运行 又是这个项目。线上同样的错误:“context = FLAC__stream_encoder_new();”错误:"Unable to load DLL 'LibFlac': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"
我也试过 'importing' DLL 在我的代码中是这样的:我试图在我的项目文件的第 14 行下面添加这一行:“[DllImport("libFLAC.dll")]”:Worker.cs 我得到这个错误:“重复 'DLLimport' 属性'
我还从 dependencywalker.com 下载了 dependency-walker 不知道如何操作它,但是当它下载完成后,我点击了打开图标并打开了我试图添加到的 libFLAC_dynamic.dll 文件该项目。而且没有错误。不过我不确定如何使用这个 dependencyWalker...
我还能尝试什么?我该如何解决这个错误?
您是 p/invoking 一个非托管库名称 LibFlac.dll
。当您第一次从库中调用函数时,您需要该库及其依赖项位于 DLL 搜索路径中。通常这意味着执行以下操作:
- 将
LibFlac.dll
放在与您的可执行文件相同的目录中,并且 - 正在安装
LibFlac.dll
具有的所有依赖项。通常这将是 MSVC C++ 运行时。仔细阅读文档,找出 DLL 有哪些依赖项。
这是一个非托管 DLL。不要试图将其添加为参考。您拥有的 DLL 似乎也被命名为 libFLC_dynamic.dll
,这与您的代码期望的名称不同。你有正确的 DLL 吗?