我正在尝试获取指定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格式的描述,任何资源?
答案 0 :(得分:1)
您可能希望看一下:Library for parsing Visual Studio Solution files?如果直接解析.sln是您唯一的选择。
关于您当前的问题,some other people have had your issue。 KB246018 says check out your antivirus as the leading cause(示例是单词,但同样适用于VS)。尝试完全排除VS目录。
答案 1 :(得分:1)
您收到RPC错误:“服务器正忙”。这可能是因为Visual Studio实际上很忙,正在调试控制台模式程序。使用Console.WriteLine()语句进行调试时,请尝试使用其他调试器。 Windows SDK具有clrdbg.exe和mdbg.exe调试程序。 .NET 2.0 SDK有一个GUI调试器。