У меня есть следующий код, который создает рабочую среду PowerShell с включенной привязкой Exchange 2010.
Dim runspaceConfig = RunspaceConfiguration.Create()
Dim snapInException As PSSnapInException = Nothing
runspaceConfig.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.E2010", snapInException)
Dim runspace = RunspaceFactory.CreateRunspace(runspaceConfig)
runspace.Open()
С момента установки Visual Studio 2012 я начал получать следующую ошибку при выполнении строки, которая добавляет оснастку в конфигурацию рабочей области.
System.Management.Automation.Runspaces.PSSnapInException occurred
HResult=-2146233087
Message=Cannot load Windows PowerShell snap-in Microsoft.Exchange.Management.PowerShell.E2010 because of the following error: The type initializer for 'Microsoft.Exchange.Data.Directory.Globals' threw an exception.
Source=System.Management.Automation
WasThrownFromThrowStatement=False
StackTrace:
at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.LoadCustomPSSnapIn(PSSnapInInfo mshsnapinInfo)
at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.LoadPSSnapIn(PSSnapInInfo mshsnapinInfo)
at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.LoadPSSnapIn(PSSnapInInfo mshsnapinInfo, PSSnapInException& warning)
at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.DoAddPSSnapIn(String name, PSSnapInException& warning)
at System.Management.Automation.Runspaces.RunspaceConfiguration.AddPSSnapIn(String name, PSSnapInException& warning)
Я смог подтвердить, что nlog каким-то образом вызывает эту проблему. Сочетание создания регистратора nlog до создания пробела powershell приводит к ошибке.
Если я удалю раздел nlog config из моей конфигурации приложения и просто создаю пустой регистратор nlog, тогда оснастка загружается без ошибок. Кроме того, если я оставляю конфигурацию nlog в конфигурации моего приложения, но не создаю регистратор nlog, оснастка также успешно загружена.
- Я попытался построить проект как в x64, так и в x86.
- Я переустановил инструменты управления обменом.
- Я попробовал тестирование на другой машине в среде обмена.
Если кто-нибудь может предложить какие-либо предложения, которые могут помочь мне решить эту проблему, я буду благодарен.
Спасибо