我有一个纯粹的原生(c ++)的Win8应用程序,我已经使用了一个使用托管代码AFAIK编写的库。没有问题,我创建了对象,并使用带有引用计数指针等的C ++ / CX来解决它们。
我需要添加一个新库,我像以前一样引用它,但是当我声明并反对并尝试解决它时,我得到:
error C3624: 'System::Object': use of this type requires a reference to assembly 'mscorlib'
使用#using <mscorlib.dll>
显然不是解决方案,因为 WinRT不支持#use of managed assembly 。
当我查找我在对象浏览器中使用的类的定义时,我发现它继承自 System :: Object 。 之前的库有一个继承自 Platform :: Object 的类,该类对C ++ / CX有效。
我已经联系了我正在尝试使用的当前库的开发人员,但是他们需要花很多时间来回应。
我可以解决这个问题吗?有哪些可行的行动方案?
UPD:我可以要求开发人员重建C ++ / CX库吗?
答案 0 :(得分:0)
除非C#库是PCL(便携式类库),否则我认为这不会在一般情况下起作用。如果它利用WinRT .NET客户端配置文件中没有的任何内容,它将无法正常工作。
如果 是PCL,您可以做的就是编写一个C#Windows运行时组件,它本身具有对该第三方库的引用并包含必要的功能。然后从C ++ / Cx应用程序中引用该C#Windows运行时组件。