实例化 VisualStudio 2008
-
19-09-2019 - |
题
我正在尝试获取指定 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 格式的描述,有资源吗?
解决方案
您可能想看看这个: 用于解析 Visual Studio 解决方案文件的库? 如果直接解析 .sln 是您唯一的选择。
至于你目前的问题, 其他人也遇到过你的问题. 。这 KB246018 表示检查您的防病毒软件是主要原因 (示例是单词,但同样适用于 VS)。尝试完全排除 VS 目录。
其他提示
您得到的是否是RPC错误:“服务器忙”。这可能是因为Visual Studio是忙碌实际上,调试控制台程序。从为Console.WriteLine调试短()语句,尝试另一个调试。在Windows SDK有clrdbg.exe和mdbg.exe调试器。的.NET 2.0 SDK有GUI调试IIRC。
不隶属于 StackOverflow