加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – C/C++LI项目如何引用可移植类库?

发布时间:2020-12-15 07:53:11 所属栏目:百科 来源:网络整理
导读:我们有一堆引用Prism.Core的C#代码. Prism.Core是一个可移植的类库.当我们在C/C++LI中引用它并尝试使用委托命令时,我们得到: C4691: ‘System::Object’: type referenced was expected in unreferenced assembly ‘System.Runtime’,type defined in curre
我们有一堆引用Prism.Core的C#代码. Prism.Core是一个可移植的类库.当我们在C/C++LI中引用它并尝试使用委托命令时,我们得到:

C4691: ‘System::Object’: type referenced was expected in unreferenced assembly ‘System.Runtime’,type defined in current translation unit used instead

有人可以解释为什么吗还有什么方法可以修复,除了重建源代码,我不想这样做,因为Prism是Nugeted到我们的c#源代码?

解决方法

我有类似的设置与相同的警告. C#项目引用了具有多个目标框架的NuGet包.由于无法将托管的NuGet包添加到C/C++LI项目,因此必须为该项目手动添加引用.手动添加的引用最终是针对NuGet包中的不同目标框架的DLL.就像是:
CSharpProject.csproj -> packagesPrism.Core.6.2.0libportable-win+net45+wp80+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10Prism.dll
CppCliProject.vcxproj -> packagesPrism.Core.6.2.0libnet45Prism.dll

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读