无法使用 C++/CLI 界面的属性

Unable to use properties from C++/CLI interface

我有一个混合模式 C++/CLI class 和我想从 C# 使用的接口。接口定义如下:

public interface class IMapRenderingInterfacer 
{
    ...
    property int CurrentCacheSize { int get(); };
    ...
};

实现 class 在其头文件中有此声明:

public ref class MapRenderingInterfacer : public IMapRenderingInterfacer
{
   ...
public:
    virtual property int CurrentCacheSize { int get();  }
   ...
};

属性 的实现在 cpp 文件中:

int MapRenderingInterfacer::CurrentCacheSize::get()
{
    return (*_nativeMapRenderingInterface)->getCurrentCacheSize()/1000000;
}

编译时没有错误或警告,但是当我尝试从 C# class 使用此 属性 时,出现以下错误:

错误 CS1061 'IMapRenderingInterfacer' 不包含 'CurrentCacheSize' 的定义,并且找不到接受类型 'IMapRenderingInterfacer' 的第一个参数的扩展方法 'CurrentCacheSize'(您是否缺少using 指令还是程序集引用?)

此接口还包含许多我可以在 C# 中很好地使用的方法,但不是这个 属性。

有什么想法吗?

Hans Passant 做对了!它只是一个指向错误版本的混合模式程序集的项目引用。在项目中删除并再次添加引用成功了!