正如标题所描述的,我正在尝试将UWP C#类库引用添加到UWP C ++ DLL项目中。这两个项目都针对Windows 10 v10.0.14393.0。添加引用后,所有内容都显示为有效,引用显示在引用列表下,未列出任何错误。当您尝试使用引用和编译时,会出现以下错误:
C2871具有此名称的命名空间不存在。
我在这里遗漏了什么吗?创建新的通用Windows C ++项目时,唯一的选项是DLL,Static Lib和Windows运行时组件。 C ++没有类库选项。我尝试了所有三个不同的项目,结果相同。有人可以提供解决方案和/或解释为什么我无法从UWP C ++项目引用UWP C#类库吗?这似乎应该是可能的。我知道在UWP之前,过去是可能的。
代码很简单。
C#代码:
namespace ClassLibrary1
{
public class Class1
{
}
}
C ++代码:
using namespace ClassLibrary1;
答案 0 :(得分:3)
您的C#项目必须是“C#Windows运行时组件”项目,而不是“C#类库”。您无法从C ++访问类库。如果目标代码使用不同的语言,最实用的方法是通过将其编译为Windows运行时组件来访问它。
此外,在制作C#Windows运行时组件项目之后,不要忘记将其添加到C ++项目引用中(如果您没有使用vcxproj来构建代码,则为/ FU编译器标志)。