Вопрос

Я использую следующий код в PowerShell Ise:

$scriptDirectory = "C:\Test"
$dteObj = [System.Activator]::CreateInstance([System.Type]::GetTypeFromProgId("VisualStudio.DTE.10.0"))
$slnName = "All"
$dteObj.Solution.Create($scriptDirectory, $slnName)
.

Я получаю сообщение об ошибке:

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
.

Почему свойство решения на этом COM объекте всегда «нулевой»?Есть ли что-то, что я забыл делать?

Это было полезно?

Решение 2

Кажется, что если вы замените вышеупомянутые со следующим, работает:

$dteObj = New-Object -ComObject "VisualStudio.DTE.10.0"
.

Другие советы

в дополнение к этому также:

$solution = $dteObj.Solution $solution.Open("<path to your solution>")

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top