编译器抱怨它在 WCL1.winmd b/c 中发现(每个公共接口/类的)重复类型,该 winmd 文件已经存在于 WCL4 的 bin 目录中。
一个问题是我对 C++ 完全一无所知,并且该问题的答案中提供的链接提供了一个无济于事的 C++ 解决方法(它实际上就像阅读一种不同但相关的语言——即,当我只知道时阅读德语英语)。
我还发现这提供了另一种解决方法,但没有告诉你把它放在哪里。我将指定的 ItemGroupDescription 元素添加到每个 .csproj 文件以及应用程序的 PropertySheet.props 文件中均无济于事。
我还做了以下事情:
- 将代码从 WCL2 移至 WCL3 并从解决方案中删除 WCL2。
- 有应用程序引用 WCL1、WCL3 和 WCL4。
其他人有任何想法吗?这将不胜感激....
更新:
这是一个重现编译错误的小解决方案的链接。它似乎来自C++ 应用程序引用的Microsoft.Windows.CppWinRT NuGet 包。该包从应用程序引用的组件项目生成的 .winmd 文件中自动生成 C++ 头文件。