我正在使用VS2010并且正在使用这个项目。
http://www.codeproject.com/KB/audio-video/Asio_Net.aspx
最初,我下载了演示二进制文件,它会在我的机器上崩溃。在阅读了一些评论之后,它说下载源代码,构建它,(在获得ASIO SDK之后),它应该可以在您的机器上运行。这是正确的,在VS中构建它之后,它就可以在那台机器上运行。
当我将重建的.exe和.dll移动到另一台机器时,它崩溃的错误与最初下载的演示二进制文件相同。所以我不确定会导致这种情况。如何让这个C ++二进制文件在任何机器上运行?
我是C#开发人员,大部分代码都是c ++,所以有点不知所措。
BTW,这是错误信息:
“未处理的异常:System.IO.FileNotFoundException:无法加载文件或屁股 embly'Bluewave.Interop.Asio.dll'或其依赖项之一。无法找到指定的模块。在BlueWave.Interop.Asio.Test.TestConsole.Main(String [] args)“
编辑:答案在这里找到: http://msdn.microsoft.com/en-us/library/8kche8ah(v=VS.100).aspx使用dependency walker查找缺少的.dll。
答案 0 :(得分:4)
假设你的意思是你已经包含了这个dll - Bluewave.Interop.Asio.dll
那么我只能想到几个解释:
缺少的dll可能是VC ++运行时的一部分,不一定是Asio的一部分。
您构建它的机器上的输出文件夹中还有什么?
答案 1 :(得分:1)
我从Code Project下载了该演示项目,我认为问题的最可能原因是缺少Visual Studio C ++ 2008运行时依赖项。通过在计算机上安装运行时可再发行组件解决此问题。
注意:我使用Dependency Walker检查了此DLL的依赖项。你甚至可以在分析模式下运行它,这样它就会在运行时告诉你哪个依赖项确实很麻烦。