c# - 如何修复 “A reference to ' Audio Precision AP2700 3.00对象库'无法添加”

标签 c# audio

我在Visual Studio 2013中遇到了C#与dll相关的问题。我可以运行此AP硬件演示,但是无法将dll导入到我自己的项目中,也无法将dll重新导入到演示中。从视觉工作室的 Angular 来看,我认为我做错了什么。

我正在使用在此处找到的AP2700演示:http://www.ap.com/download/api通过Visual Studio开箱即用,但是我无法弄清楚在示例项目中如何添加“AP”引用。在COM引用中检查了“Audio Precision AP2700 3.00对象库”,但是当我删除它并尝试再次添加它时,出现错误:“无法添加对“Audio Precision AP2700 3.00对象库”的引用。 ”

这是示例项目的图片,效果很好


这是删除dll然后尝试重新添加dll的图片

以下是AP引用的属性:

事实证明,解决方案是要添加另一个名为Interop.AP.dll的.dll。添加后,它将给出一些与嵌入式互操作有关的错误。进入属性,然后将嵌入式互操作设置为false。有谁知道为什么名字不匹配? “Interop.AP”与原始“AP”?

最佳答案

示例项目没有直接引用COM库,而是引用了bin文件夹Interop.AP.dll中的主互操作程序集。我认为添加COM引用对话框可能会阻塞对原始COM对象的引用,这是因为它是可执行文件而不是DLL。

如果要重新创建主互操作程序集,则可以使用tlbimp工具进行。

运行VS2013命令行工具:

> cd c:\Program Files (x86)\Audio Precision\AP2700
> tlbimp ap2700.exe/1 /out:c:\tmp\Interop.AP.dll

现在,您可以使用常规.NET引用将其添加到新创建的互操作程序集的引用。

不要忘记在引用的属性中将embed设置为false。

另外,对于其中一项评论,我不认为64位会成为问题(AP2700软件是32位),因为COM发生了故障。

关于c# - 如何修复 “A reference to ' Audio Precision AP2700 3.00对象库'无法添加”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28420862/

相关文章:

audio - Mixed In Key 如何确定轨道的调?

c# - WCF Rest .svc 在直接查看时抛出错误,但在其他情况下有效

c# - 从包装 native C++ 类的 CLI 类调用 C# 委托(delegate)

c# - 删除字符串中的空格

php - 有没有一种简单的方法可以只显示html5音频播放器中的播放和停止按钮?

c++ - 声音 API Ubuntu Linux

c# - 通过在MVVM中更改的属性来更改另一个类的属性?

c# - MVC 5、EF 6 和多行(批量)编辑

audio - ffmpeg 音频转换不工作

html - 在 IE 9 中加载嵌入式 mp3 时文本字段失去焦点?