2010-08-27 45 views
0

当我尝试编译我的VB.NET web项目,我得到一条错误:VS项目无法编译:房产不是引用的DLL中的一员

[PropertyName] is not a member of '[Namespace.Class]' 

引用的类的一部分该项目引用的dll。该属性肯定存在于引用的类中,并且其访问修饰符为Public。更重要的是,如果我更新的参考,或只是将其删除,并添加回去,错误消失:智能感知显示我的财产 - 一切都很好..这是直到我尝试重新编译。然后错误返回。我甚至重新启动Visual Studio无济于事。到底是怎么回事?

[更新] 威尔的评论后,我改变的东西我绝对相信是独一无二的命名空间。现在,我得到了更多的相同类型的编译器错误。编译器不能识别一些重载虽然他们正确的,在智能感知。奇怪的!

此处,我得到了错误之前的代码:

Dim gis = New MapQuestGeocoder 
Dim r = gis.GetResult(address) 
originCoord = r.Coordinate 

无法识别的坐标属性。现在,错误是“重载决策失败......”,并在不同的类升起,下面第二行:

Dim gis = New MapQuestDirections() 
Dim route = gis.GetResult(originAddress, address) 

两个MapQuestGeocoder和MapQuestDirections驻留在同一个DLL,同一个命名空间:Kosh.Geo

+0

什么是类的命名空间?它是否与包含项目的任何其他名称空间“冲突”? – 2010-08-27 21:34:05

回答

0

好了,我想通了,第二个错误是怎么回事,因为bin目录既保留旧组件和新的,我已经命名不同,以匹配新的命名空间。我得出的结论是旧的DLL在那里即使是在我删除的参考,因为在我的项目另一个DLL取决于这同一个地球组装。我认为这也可能导致了原始错误,因为地理组件不同步。