VisualStudio.O DTE.A solução é nulo usando o Ativador::CreateInstance
-
22-12-2019 - |
Pergunta
Estou executando o seguinte código no PowerShell ISE:
$scriptDirectory = "C:\Test"
$dteObj = [System.Activator]::CreateInstance([System.Type]::GetTypeFromProgId("VisualStudio.DTE.10.0"))
$slnName = "All"
$dteObj.Solution.Create($scriptDirectory, $slnName)
Eu recebo o erro:
You cannot call a method on a null-valued expression.
At C:\DevHome\TFS\CreateMasterSolution.ps1:8 char:1
+ $dteObj.Solution.Create($scriptDirectory, $slnName)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Qual é a Solução de Propriedade sobre esse Objeto COM sempre "nulo"?Existe algo que eu estou esquecendo de fazer?
Solução 2
Parece que, se você substituir o acima com o seguinte funciona:
$dteObj = New-Object -ComObject "VisualStudio.DTE.10.0"
Outras dicas
Além de que fazer também:
$solution = $dteObj.Solution
$solution.Open("<path to your solution>")
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow