C ++ / CLI项目如何引用可移植类库?

时间:2016-03-22 16:49:26

标签: c# c++ portable-class-library prism-6

我们有一堆引用Prism.Core的C#代码。 Prism.Core是一个可移植的类库。当我们在C ++ / CLI中引用它并尝试使用委托命令时,我们得到:

  

C4691:' System :: Object':引用的类型是在未引用的汇编中使用的System.Runtime',在当前使用的翻译单元中定义的类型

任何人都可以解释原因吗?还有什么方法可以解决,除了重建源代码,我不想做的事情,因为Prism被编入我们的c#源代码?

1 个答案:

答案 0 :(得分:0)

我有类似的设置,同样的警告。 C#项目引用了具有多个目标框架的NuGet包。由于无法将托管的NuGet包添加到C ++ / CLI项目,因此必须为该项目手动添加引用。手动添加的引用最终是针对NuGet包中的不同目标框架的DLL。类似的东西:

CSharpProject.csproj -> packages\Prism.Core.6.2.0\lib\portable-win+net45+wp80+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Prism.dll
CppCliProject.vcxproj -> packages\Prism.Core.6.2.0\lib\net45\Prism.dll

在C ++ / CLI项目中更改引用以使用与C#项目相同的DLL在我的情况下修复它。