Pergunta

Estou tentando obter uma lista de todos os projetos em uma solução especificada do VS2008. (Este é um aplicativo de console independente, não é um suplemento do Visual Studio)

Meu código funciona com soluções VS2005, mas recebo todos os tipos de erros de comedoria feios tentando usar o objeto VS2008.

O que quero dizer é: isto:

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

funciona e isso:

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

Atualmente (atualmente lança Erro 8001010)

Tenho duas classes relevantes registradas no registro e todas as assembléias apropriadas são referenciadas.


EDIT: Eu vou com a análise básica do arquivo .sln, mesmo que eu tenha que fazer um pouco de reescrita, pois a manipulação de texto deve funcionar sem todas as coisas desagradáveis. No entanto, não consigo encontrar uma descrição do formato .SLN, algum recurso?

Foi útil?

Solução

Você pode querer olhar para isso: Biblioteca para analisar arquivos de solução do Visual Studio? Se analisar o .SLN diretamente, é sua única opção.

Quanto ao seu problema atual, Algumas outras pessoas tiveram seu problema. o KB246018 diz que confira seu antivírus como a principal causa (Exemplo é palavra, mas o mesmo se aplica a vs). Tente excluir completamente o diretório VS.

Outras dicas

Você está recebendo um erro de RPC: "O servidor está ocupado". Isso pode ser porque o Visual Studio está realmente ocupado, depurando seu programa de modo de console. Além de depurar com as instruções console.WriteLine (), tente outro depurador. O Windows SDK possui os depuradores clrdbg.exe e mdbg.exe. O .NET 2.0 SDK tinha um depurador da GUI IIRC.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top