相关疑难解决方法(0)

如何在 .NET Standard 项目中使用 EnvDTE

我正在将 .net 4.7 项目移植到 .net 标准,它使用 T4 生成一些代码。我遍历类、属性和方法。这使用完美,但现在 DTE 的返回类型是“System.__ComObject”类型,我无法转换它们。

错误:无法将“System.__ComObject”类型的 COM 对象转换为接口类型“EnvDTE.CodeClass”。此操作失败,因为 IID 为“{B1F42514-91CD-4D3A-8B25-A317D8032B24}”的接口的 COM 组件上的 QueryInterface 调用失败,原因如下:不支持此类接口(来自 HRESULT 的异常:0x80004002 (E_NOINTERFACE)) .

任何想法如何解决这一问题?

例子:

public static bool CheckBase(CodeClass codeClass, string baseName)
{
    var bases = codeClass.Bases;
    if (bases != null)
    {
        foreach (CodeClass baseClass in bases)
        {
            if(baseClass.Name == baseName) return true;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

c# t4 envdte .net-standard

5
推荐指数
0
解决办法
497
查看次数

标签 统计

.net-standard ×1

c# ×1

envdte ×1

t4 ×1