如果 base class 是通用的并且在 class 库中,则 Show Base Class 会抛出错误

Show Base Class throws error if base class is generic and in a class library

假设我有一个 class 库项目 (Library),其中包含 class 个:

Public Class SomeClass(Of TTypeA, TTypeB)

然后,在另一个项目 UIProject 的不同解决方案中,我定义了一个 class 派生自(继承)SomeClass:

Imports Library
Public Class SomeDerivedClass
Inherits SomeClass(Of String, Boolean)

当我将 class 库引用添加到 UIProject 时,我将 Library.pdb 和 Library.xml 与 Library.dll(在同一文件夹中)一起包含在内。

现在,在 UIProject 中,我创建了一个 ClassDiagram (ClassDiagram1.cd),并在 SomeClass class 中添加。到目前为止一切顺利。

下一步是右键单击图表中的 SomeClass,然后从下拉列表中单击 select "Show Base Class"。此时,我得到错误:

Error HRESULT E_FAIL has been returned from a call to a COM component.

如果我对 SomeClass 的非通用版本执行相同的操作,那么 SomeClass 包含在 class 图表中,没问题。

ActivityLog.xml 中未显示任何错误;也不在 Windows 事件查看器中。

这是 Visual Studio 中的错误吗(在这种情况下我会报告);还是我做错了什么(如果是这样,我可以做任何其他错误日志或跟踪来进一步缩小问题范围)?

答案似乎是 COM 不适用于泛型;并且它在 VS2017 中有效。