Мне поручено создать инструмент, который поможет легко настраивать системы клиентов. Я создал функцию, которая вызывает шоколадный сценарий через powershell в c #, и я использую Task.run для создания нового потока, чтобы он не влиял на поток пользовательского интерфейса. Система работает нормально, но у меня проблемы с некоторыми компьютерами , Не помогло то, что у меня нет доступа к этим компьютерам и я не очень разбираюсь в их системе, и из-за нехватки времени не имею доступа к этим компьютерам. Я знаю, что у них есть Windows 8.1. Мне дали тестировать виртуальную машину Windows 10 (которую я до сих пор не понимаю, так как было известно, что это проблема Windows 8)
Вот код.
Я точно знаю (из-за того, что однажды мне был предоставлен доступ к этим компьютерам), что он останавливается на Task.Run (() => task)
Кто-нибудь знает, есть ли проблемы с шоколадкой или Tasks на Windows 8.1?
Task callTask = Task.Run(() => ExecuteAsynchronouslyAsync("chocolatey string", CheckBox box, string logName));
public async Task<PowerShellAction> ExecuteAsynchronouslyAsync(String commandStr, CheckBox box, string logName)
{
powerShellAction = new PowerShellAction();
powerShellAction.isFinished = false;
using (PowerShell ps = PowerShell.Create())
{
ps.AddScript(commandStr); // adding the script to the powershell script.
outputCollection = new PSDataCollection<PSObject>();
outputCollection.DataAdded += OutputData;
IAsyncResult result = ps.BeginInvoke<PSObject, PSObject>(null, outputCollection);
PSDataCollection<PSObject> execRes = await Task.Factory.FromAsync(result, ps.EndInvoke);
}
return powerShellAction;
}
Сейчас работаем над попыткой заставить виртуальную машину 8.1 продолжать попытки отладки самостоятельно. Любые другие предложения будут приветствоваться.