Set-Location versus SetCurrentDirectory

Qual é a diferença no Powershell entre

Set-Location "$env:ProgramFiles\My App\"

e

[System.IO.Directory]::SetCurrentDirectory("$env:ProgramFiles\My App\")

O motivo para perguntar é que recentemente tive um script que usavaAdd-Type -Path XXX para adicionar uma referência a uma montagem. O assembly dependia de várias DLLs (algumas possivelmente vinculadas no tempo de execução, não no tempo de carregamento) localizadas na mesma pasta que o assembly.

Por isso, pensei em mudar o diretório para a pasta, para ajudar a montagem a encontrar todos os arquivos necessários. Quando mudei de diretório usandoSet-Location Eu recebi um erro (que era específico do assembly) reclamando que não foi possível encontrar todas as DLLs. UsandoSetCurrentDirectory trabalhou no entanto.

Portanto, os dois comandos parecem estar fazendo coisas diferentes. Eu esperava que eles fossem iguais.

questionAnswers(2)

yourAnswerToTheQuestion