我无法使用我已导入的库作为项目中的引用

时间:2012-11-07 22:47:34

标签: c# .net c#-4.0 sift

我正在用c#编写计算机视觉程序,需要部分项目SIFT;我下载了SIFT的MEMO库:

http://www.nowozin.net/sebastian/tu-berlin-2006/libsift/

在我的项目中,我添加了两个库**** libsift.dll& ICSharpCode.SharpZipLib.dll ** **作为我项目的参考。

enter image description here

现在我想在代码“USING libsift”之上提到libsift它不会识别它;

enter image description here

如果我想做一个这样的类的实例,那么检测不会识别它。

enter image description here

这很奇怪,因为我可以在对象浏览器中看到这个库的功能。

enter image description here

虽然我可以在对象浏览器中看到函数,但我无法使用我已经导入的库作为项目中的引用?可能是什么问题呢?

(我在Windows中有c#.Net VS2010。)

1 个答案:

答案 0 :(得分:7)

看起来就像它们在根命名空间中一样 - 而不是在名为libsift的命名空间中。如果是这种情况,则不需要using libsift;指令 - 只需尝试直接访问Keypoint等。或者可能是global::Keypoint。应该注意的是,将类型转储到根命名空间是不受欢迎的 - 这使得很难避免冲突。但这是libsift的错误。

另一种可能性是你已经改变了参考文献中的“别名”属性;应该是“全球性的”。当您在解决方案资源管理器中选择单个引用时,您可以在属性面板中看到此内容 - 以及“复制本地”,“特定版本”等内容。如果是其他内容:将其更改回“全局”,或者学习关于 extern别名

在本地测试(类型在全局命名空间中):

enter image description here