У меня очень странная проблема. Я добавил ссылку на System.Management.Automation в моем проекте, и я пытаюсь вызвать следующий код:System.Management.Automation dll throws ItemNotFoundException при вызовах Appx
using (Powershell ps = Powershell.Create())
{
ps.AddScript("Get-AppxPackage");
ps.Invoke();
}
Обратите внимание, что я могу запускать другие команды PowerShell таким образом тонким, это только команда Appx которые создают исключение. Выполнение команды Get-AppxPackage приводит к исключению ItemNotFoundException. Ошибка:
Exception thrown: 'System.Management.Automation.ItemNotFoundException' in System.Management.Automation.dll
Additional information: Cannot find path 'C:\Users\xxxx\Documents\WindowsPowerShell\Modules' because it does not exist.
Моего первое предположение, что это может быть рабочим каталог вещь, поэтому я явно установить рабочий каталог перед вызовом команды, но это ничего не изменило. Затем я проверил, и этот каталог не существует, поэтому я создал его, чтобы увидеть, что произойдет. После создания каталога и снова запустить код, который я получил эту ошибку:
Exception thrown: 'System.Management.Automation.ItemNotFoundException' in System.Management.Automation.dll
Additional information: Cannot find path 'C:\windows\system32\windowspowershell\v1.0\Modules\Appx\Microsoft.Windows.Appx.PackageManager.Commands' because it does not
Я честно понятия не имею, что здесь происходит. Чтобы сделать проблему еще более странной, я попробовал это на другом компьютере, и код работает нормально. Поэтому в Visual Studio или моем проекте на этом одном компьютере должно быть что-то не так.
Я пробовал удалить папку debug и obj, suo и все такое. Я удалил ссылку на System.Management.Automation и повторно добавил ее, даже перезагружая промежуточный. Я в недоумении, я понятия не имею, почему это происходит или что еще я могу сделать, чтобы понять это.
Примечание: Я могу запускать команды Appx в Powershell ISE в порядке, поэтому на компьютере нет проблем. Проблема заключается только в вызове этой команды через dll System.Management.Automation.
Любая помощь была бы принята с благодарностью.
Вы можете попробовать запустить его в качестве администратора? это иногда может быть проблемой – HAL9256
Это предложение. Я пробовал это. К сожалению, работа с администратором не имела никакого значения. –