我需要解决的问题是Visual Studio 2013中的Nuget Package Manager控制台无法启动,因为Windows Powershell会引发错误:
无法启动shell。初始化期间发生故障:'System.Management.Automation.SessionStateScope'的类型初始化程序引发异常。
我尝试重新安装nuget,修复VS2013,更改powershell x86中的执行策略(此处在stackoverflow中给出的常见解决方案),但错误仍然存在。
直到我意识到问题出在x64 powershell(C:\ Windows \ SysWOW64 \ WindowsPowerShell \ v1.0)中,因为x86版本没问题。
我在Windows 8.1 x64中使用Visual Studio Ultimate 2013 Update 4 32位
答案 0 :(得分:1)
我找到了答案,它与.Net
中的遗留安全策略有关我打开文件 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config ,并在标签 NetFx40_LegacySecurityPolicy中将属性“enabled”设置为False 和voilá,SysWoW64的PowerShell正在发挥作用。
答案 1 :(得分:0)
在我的情况下,由于未知原因我收到同样的错误,并且由于这个提示我在
中寻找了NetFx40_LegacySecurityPolicyC:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config
和
C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \配置\ machine.config中
但找不到那个标签......
我确实在
中看到 LegacyCasPolicy enabled =“true”C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ machine.config
并将其设置为 false ...中提琴,工作就像一个魅力...不知道这是如何设置但无法在任何地方找到解决这个问题的方法,不,我没有任何损坏的系统文件。
答案 2 :(得分:0)
同样的问题不同的关键。
C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \配置\ machine.config中
更改为false
NetFx40_LegacySecurityPolicy enabled="true"