如何为visual studio 2008正确GetTypeFromProgID

l--*_*''' 0 .net c# interop visual-studio-2008 envdte

我按照这里的说明操作:

http://msdn.microsoft.com/en-us/library/ms228772(v=vs.80).aspx

for .net 3.5 visual studio 2008来解决这个问题:

呼叫被被叫方拒绝了

对于这行代码:

t = System.Type.GetTypeFromProgID("VisualStudio.DTE.8.0",
              true);
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

COMException未处理:无效的类字符串(来自HRESULT的异常:0x800401F3(CO_E_CLASSSTRING))

有谁知道这意味着什么,我做错了什么?

非常感谢你的指导.

Han*_*ant 6

您的代码与您使用的代码不匹配.VS2008是Visual Studio 9.0版.所以正确的进步是VisualStudio.DTE.9.0.版本号的完整列表:

  • VS2002:7.0
  • VS2003:7.1
  • VS2005:8.0
  • VS2008:9.0
  • VS2010:10.0
  • VS2012:11.0
  • VS2013:12.0

你也可以使用VisualStudio.DTEprogid.你将获得最后安装的VS版本.有点随机.