.net – 无法加载Exchange powershell管理单元:“Microsoft.Exchange.Data.Directory.Globals”的类型初始化程序抛出异常

前端之家收集整理的这篇文章主要介绍了.net – 无法加载Exchange powershell管理单元:“Microsoft.Exchange.Data.Directory.Globals”的类型初始化程序抛出异常前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下代码创建一个Power Shell运行空间,并加载了Exchange 2010快照.
  1. Dim runspaceConfig = RunspaceConfiguration.Create()
  2.  
  3. Dim snapInException As PSSnapInException = Nothing
  4. runspaceConfig.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.E2010",snapInException)
  5.  
  6. Dim runspace = RunspaceFactory.CreateRunspace(runspaceConfig)
  7. runspace.Open()

自从安装Visual Studio 2012以来,在执行将管理单元添加到runspace配置中的行时,我开始收到以下错误.

  1. System.Management.Automation.Runspaces.PSSnapInException occurred
  2. HResult=-2146233087
  3. 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.
  4. Source=System.Management.Automation
  5. WasThrownFromThrowStatement=False
  6. StackTrace:
  7. at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.LoadCustomPSSnapIn(PSSnapInInfo mshsnapinInfo)
  8. at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.LoadPSSnapIn(PSSnapInInfo mshsnapinInfo)
  9. at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.LoadPSSnapIn(PSSnapInInfo mshsnapinInfo,PSSnapInException& warning)
  10. at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.DoAddPSSnapIn(String name,PSSnapInException& warning)
  11. at System.Management.Automation.Runspaces.RunspaceConfiguration.AddPSSnapIn(String name,PSSnapInException& warning)

我已经能够确认nlog是不知何故导致这个问题.在创建powershell runspace之前创建一个nlog记录器的组合会导致错误.

如果我从我的应用程序配置中删除nlog配置部分,只需创建一个空的nlog记录器,那么加载中没有错误.另外,如果我在应用程序配置中留下了nlog配置,但是不创建一个nlog记录器,那么管理单元也被成功加载.

>我已经尝试在x64和x86中构建项目.
>我已经重新安装了交换管理工具.
>我已经尝试在交换环境中的另一台机器上进行测试.

如果有人可以提供任何可能帮助我解决这个问题的建议,我将会很有意思.

谢谢

经过进一步调查,我发现.NET 4.5是一个更新的含义,.NET 4.0被安装后被覆盖并替换为.NET 4.5.我不知道.NET 4.5中发生什么变化,导致这一点,但问题是通过卸载.NET 4.5并切换回Visual Studio 2010.解决问题.希望微软在不久的将来会有一些更新,将解决问题,并允许我再次使用Visual Studio 2012.

有关更新的更多信息,请参阅以下文章.
http://www.devproconnections.com/article/net-framework/net-framework-45-versioning-faces-problems-141160

猜你在找的Windows相关文章