我正在尝试获取指定 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 格式的描述,有什么资源吗?