我在C ++ / CLI中声明了一个接口,并使其成为一个程序集(DLL)。我希望该接口由C#app实现。我添加了引用,但是我的C#程序集没有检测到我的C ++ / CLI界面,并说“找不到:你缺少一些程序集引用。”
我该如何解决这个问题?
答案 0 :(得分:1)
确保您的dll支持CLR。 (Visual Studio中“配置属性”中的“常规”选项卡)。
答案 1 :(得分:0)
确保在C ++ / CLI程序集中声明interface class
public
。我推荐免费版的Red Gate .NET Reflector用于查看已编译程序集中类型的可见性。
答案 2 :(得分:0)
接口是否在C ++ / CLI程序集中的命名空间中定义?如果是这样,你把'using [namespace]'放在C#文件的顶部?
答案 3 :(得分:0)
知道这是一个老问题,但我遇到了同样的问题。 另外,你的c ++ / cli需要提供一些源代码(cpp)(实际上几乎是空的):
IXYprovider.h:
namespace Interfaces
{
public interface class IXYprovider
{
...
}
}
IXYProvider.cpp:
#include "IXYprovider.h"
namespace Interfaces
{
}
这使C#可见。