【问题标题】:Error 'Unable to cast object of type 'System.RuntimeType' to type 'EnvDTE80.DTE2'错误“无法将“System.RuntimeType”类型的对象转换为“EnvDTE80.DTE2”类型
【发布时间】:2020-10-09 19:42:48
【问题描述】:

我试图模仿what is done here。我已经添加了所有必需的引用,并使用与示例中相同的 VS (2017) 版本,以及相同的代码行。尝试运行以下代码行时:

EnvDTE80.DTE2 dte = System.Type.GetTypeFromProgID("VisualStudio.DTE.15.0");

出现错误,“无法将类型 'System.Type' 隐式转换为 'EnvDTE80.DTE2'。

好的,那我试试这个,

EnvDTE80.DTE2 dte = (EnvDTE80.DTE2)System.Type.GetTypeFromProgID("VisualStudio.DTE.15.0");

然后运行代码时出现这个错误,“Unable to cast object of type 'System.RuntimeType' to type 'EnvDTE80.DTE2'

有人可以帮忙吗?我的猜测是因为我是 C# 新手,所以这很简单。

非常感谢!

【问题讨论】:

    标签: c# twincat system.type


    【解决方案1】:

    您在此处链接到的网页的作者:-P

    这样做:

    Type type = System.Type.GetTypeFromProgID("VisualStudio.DTE.15.0");
    EnvDTE80.DTE2 dte = (EnvDTE80.DTE2)System.Activator.CreateInstance(type);
    

    有关如何使用 DTE 和 TwinCAT 自动化接口的最新示例,您可以查看以下两个项目之一:

    【讨论】:

      猜你喜欢
      • 2019-03-22
      • 2018-03-22
      • 2023-04-03
      • 1970-01-01
      • 2014-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多