【问题标题】:How can a C++/CLI project reference a portable class library?C++/CLI 项目如何引用可移植类库?
【发布时间】:2016-07-09 16:45:08
【问题描述】:

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

C4691:“System::Object”:在未引用的程序集“System.Runtime”中需要引用类型,在当前翻译单元中定义的类型改为使用

谁能解释为什么?除了重建源代码之外,还有什么方法可以修复,因为 Prism 被 Nugeted 到我们的 c# 源代码中,所以我不想这样做?

【问题讨论】:

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


    【解决方案1】:

    我有一个类似的设置,但有同样的警告。 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 -> 包\Prism.Core.6.2.0\lib\net45\Prism.dll

    在我的情况下,将 C++/CLI 项目中的引用更改为使用与 C# 项目相同的 DLL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多