我有以下代码,用于创建一个加载了 Exchange 2010 管理单元的 PowerShell 运行空间。
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 是导致此问题的原因。在创建 powershell 运行空间之前创建 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 可以解决该问题。希望 Microsoft 在不久的将来能提供一些更新来解决该问题并允许我再次使用 Visual Studio 2012。
有关就地更新的更多信息,请参阅以下文章。http://www.devproconnections.com/article/net-framework/net-framework-45-versioning-faces-problems-141160 http://www.devproconnections.com/article/net-framework/net-framework-45-versioning-faces-problems-141160
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)