gpt4 book ai didi

visual-c++ - 在 C++ winrt 项目中包含 PCL 库 DLL

转载 作者:行者123 更新时间:2023-12-04 04:30:01 27 4
gpt4 key购买 nike

我创建了我想在各种 WinRT 项目中使用的可移植类库。我可以在 C# Winrt Apps、VB WinRT Apps、silverlight 和 Windows Phone 中使用这个 PCL dll。但由于某种原因,我无法成功地将库添加到我的 C++ 项目中。尝试此操作时出现的错误是:

Could not add a reference to file 'C:\Users\xyz\pqr.dll' because it is neither a .NET assembly nor a registered ActiveX control.

我看到了 same question在 SO 上,OP 发布了一个似乎对他有用的解决方案。我试图按照原始问题的建议找到以下行,但我无法在 vcxproj 文件中找到它。

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

由于我无法对原始问题发表评论,我想我应该在这里发表另一个问题。

有什么想法吗?

编辑:我的项目设置看起来像这样:

  • 假设我的 PCL 库名为 A.dll。
  • 我的 WinRT 组件称为 B.winmd。
  • 现在,B.winmd 在内部使用 A.dll 并围绕它创建一个包装器。

现在,当我想在 C++ 中创建商店应用程序 C 时,我必须在我的项目 C 中添加对 A.dll 和 B.winmd 的引用。如果我只包含 B.winmd,我首先会遇到运行时异常时间来自 A.dll 的东西被使用。我做错了什么?

最佳答案

C++ 应用程序不知道如何执行托管代码。如果您想使用 C# 创建一个库并使其可用于另一个运行时环境(如 C++ 或 Javascript),那么您必须创建一个 Windows 运行时组件项目。它的公共(public)接口(interface)仅限于 WinRT 兼容类型,以允许运行时环境之间的互操作工作。许多其他小规则。

MSDN 起始页 is here .

关于visual-c++ - 在 C++ winrt 项目中包含 PCL 库 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14509664/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com