1

我正在尝试获取指定 VS2008 解决方案中所有项目的列表。(这是一个独立的控制台应用程序,它不是 Visual Studio 加载项)

我的代码适用于 VS2005 解决方案,但我在尝试使用 VS2008 对象时遇到各种难看的 COM 错误。

我的意思是:这个:

Type _visualStudioType = Type.GetTypeFromProgID("VisualStudio.DTE.8.0");  
DTE _dte = Activator.CreateInstance(_visualStudioType) as DTE;  

工作,这个:

Type _visualStudioType = Type.GetTypeFromProgID("VisualStudio.DTE.9.0");  
DTE _dte = Activator.CreateInstance(_visualStudioType) as DTE;  

没有(当前抛出 COM 错误 8001010a)

我在注册表中注册了两个相关类,并引用了所有适当的程序集。


编辑:我将使用 .sln 文件的基本解析,即使我必须进行一些重写,因为文本操作必然会在没有所有令人讨厌的互操作内容的情况下工作。但是,我似乎找不到 .sln 格式的描述,有什么资源吗?

4

2 回答 2

1

您可能想看看这个: 用于解析 Visual Studio 解决方案文件的库?如果直接解析 .sln 是您唯一的选择。

至于你目前的问题,其他人也有你的问题。KB246018说检查您的防病毒软件是主要原因(例如 word,但同样适用于 VS)。尝试完全排除 VS 目录。

于 2010-02-10T12:50:47.397 回答
1

您收到 RPC 错误:“服务器正忙”。这可能是因为 Visual Studio 实际上很忙,正在调试您的控制台模式程序。如果无法使用 Console.WriteLine() 语句进行调试,请尝试另一个调试器。Windows SDK 具有 clrdbg.exe 和 mdbg.exe 调试器。.NET 2.0 SDK 有一个 GUI 调试器 iirc。

于 2010-02-10T13:51:56.280 回答