错误“无法将类型 'System.RuntimeType' 的对象转换为类型 'EnvDTE80.DTE2'
Error 'Unable to cast object of type 'System.RuntimeType' to type 'EnvDTE80.DTE2'
我正在尝试模仿 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");
然后运行宁代码时出现这个错误,“无法将类型'System.RuntimeType'的对象转换为类型'EnvDTE80.DTE2'
有人可以帮忙吗?我的猜测是它非常简单,因为我是 C# 的新手。
非常感谢!
您链接到此处的网页的作者:-P
这样做:
Type type = System.Type.GetTypeFromProgID("VisualStudio.DTE.15.0");
EnvDTE80.DTE2 dte = (EnvDTE80.DTE2)System.Activator.CreateInstance(type);
有关如何使用 DTE 和 TwinCAT 自动化接口的更多最新示例,您可以查看以下两个项目之一:
我正在尝试模仿 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");
然后运行宁代码时出现这个错误,“无法将类型'System.RuntimeType'的对象转换为类型'EnvDTE80.DTE2'
有人可以帮忙吗?我的猜测是它非常简单,因为我是 C# 的新手。
非常感谢!
您链接到此处的网页的作者:-P
这样做:
Type type = System.Type.GetTypeFromProgID("VisualStudio.DTE.15.0");
EnvDTE80.DTE2 dte = (EnvDTE80.DTE2)System.Activator.CreateInstance(type);
有关如何使用 DTE 和 TwinCAT 自动化接口的更多最新示例,您可以查看以下两个项目之一: