Set-Location versus SetCurrentDirectory

¿Cuál es la diferencia en Powershell entre

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

y

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

La razón para preguntar es que recientemente tuve un script que usabaAdd-Type -Path XXX para agregar una referencia a un ensamblaje. El ensamblaje dependía de una serie de DLL (algunas posiblemente vinculadas en tiempo de ejecución, no en tiempo de carga) ubicadas en la misma carpeta que el ensamblaje.

Entonces pensé que cambiaría el directorio a la carpeta, para ayudar al ensamblaje a encontrar todos los archivos necesarios. Cuando cambié el directorio usandoSet-Location Recibí un error (uno que era específico del ensamblaje) quejándose de que no podía encontrar todas las DLL. UtilizandoSetCurrentDirectory funcionó sin embargo.

Por lo tanto, los dos comandos parecen estar haciendo cosas diferentes. Hubiera esperado que fueran lo mismo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta