Я пытаюсь получить количество сообщений, присутствующих в исходящей очереди. Я использую C# с Powershell для достижения этого. Я использую ниже командыПроблема при получении количества сообщений из MSMQ Outqueue
Get-MsmqOutgoingQueue | Format-Table -Property MessageCount
Эта команда становится успешно выполнена на Powershell командной строке. Но когда я пытаюсь это из C#, он дает следующее исключение:
The type initializer for 'Microsoft.Msmq.PowerShell.Commands.Utilities' threw an exception.
Ниже С # код, который я использую, чтобы выполнить эту команду:
string scriptTest = "Get-MsmqOutgoingQueue | Format-Table -Property MessageCount";
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript(scriptText);
pipeline.Commands.Add("Out-String");
Collection<PSObject> results = pipeline.Invoke();
runspace.Close();
string s = "";
foreach (PSObject obj in results)
{
s = obj.ToString();
}
Console.WriteLine(s);
Я попробовал этот код, давая все но оно дает такое же исключение.
Есть ли внутреннее исключение? – stuartd
Проверено в InnerException и найдено исключение как: «Сборка смешанного режима построена на версию версии v2.0.50727» среды выполнения и не может быть загружена в среду выполнения 4.0 без дополнительной информации о настройке »Исправлена ошибка, изменяя App.Config. – Brijesh