我创建了要在各种 WinRT 项目中使用的可移植类库。我可以在 C# Winrt Apps、VB WinRT Apps、silverlight 和 Windows Phone 中使用这个 PCL dll。但由于某种原因,我无法成功地将库添加到我的 C++ 项目中。我尝试这个时得到的错误是:
无法添加对文件“C:\Users\xyz\pqr.dll”的引用,因为它既不是 .NET 程序集也不是已注册的 ActiveX 控件。
我早些时候在 SO 上看到了同样的问题,并且 OP 发布了一个似乎对他有用的解决方案。我试图按照原始问题的建议找到以下行,但在 vcxproj 文件中找不到它。
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
由于我无法对原始问题发表评论,我想我应该在这里发布另一个问题。
有任何想法吗?
编辑: 我的项目设置如下所示:
- 让我们假设我的 PCL 库名为 A.dll。
- 我的 WinRT 组件称为 B.winmd。
- 现在,B.winmd 在内部使用 A.dll 并围绕它创建一个包装器。
现在,当我想在 C++ 中创建 Store App C 时,我必须在我的项目 C 中添加对 A.dll 和 B.winmd 的引用。如果我只包含 B.winmd,我第一次会遇到运行时异常使用 A.dll。我究竟做错了什么?