创建新的MVC项目时出现错误 - EF和JQuery

21
每当我创建一个新的MVC项目时,都会出现一个错误 - 无法初始化PowerShell主机,用于Entity Framework和Jquery。 错误如下: 以下包从'C:\ Program Files \ Microsoft ASP.NET \ ASP.NET MVC 4 \ Packages'中未能安装 EntityFramework.5.0.0:无法初始化PowerShell主机。 如果您的PowerShell执行策略设置为AllSigned,请打开程序包管理器控制台以首先初始化主机。 jQuery.1.7.1.1:无法初始化PowerShell主机。 如果您的PowerShell执行策略设置为AllSigned,请打开程序包管理器控制台以首先初始化主机。 我可以移除Entity Framework引用,并手动添加它,这是一个很好的解决方法,但这很烦人,也意味着某些地方存在问题。 有任何想法可以解决问题吗? 这个链接记录了类似的问题和解决办法:http://social.msdn.microsoft.com/Forums/en/vssetup/thread/c934fed4-e44e-4a06-9e3b-eccb9c8aa8d6

2
好的,它帮助了我,所以我不明白为什么要关闭。 - Sandra S.
如果您有足够的声望,请投票以重新打开此问题。 - MrBoJangles
刚刚遇到了同样的问题。这个解决方案对我很有帮助:https://dev59.com/i2kv5IYBdhLWcg3wpCQz - Oleksii Aza
6个回答

17

MSDN线程上的一个回复对我有用。以管理员身份运行PowerShell并运行以下命令:

Set-ExecutionPolicy AllSigned

请参阅使用Set-ExecutionPolicy Cmdlet以了解安全性影响。


出现了相同的错误信息:“无法初始化 Powershell 主机。如果您的 Powershell 执行策略设置为 AllSigned,请先打开包管理器控制台以初始化主机。” 这是在尝试将 Microsoft.WindowsAzure.Caching 从 2.3.0.0 更新到 2.3.1.0 时发生的。这个解决方案对我很有帮助。 - huha
2
我必须重新启动VS 2013,打开PowerShell控制台,选择“始终运行A”,然后再次重新启动VS 2013以使此设置生效。 - mikebridge
请确保您在32位和64位PowerShell中执行此操作。 - Stef Heyenrath
我在进行以上更改后不得不重新启动VS,可能是为了让VS内的包管理器控制台能够重新启动并考虑到这个更改。 - Jamie Keeling
我支持Jamie的解决方案。我运行了executionpolicy命令并重新启动了VS。 - Scope Creep

15

这个问题相当普遍 - 因为有多个链接指向MSDN论坛和解决方法的参考。我在使用Visual Studio中的包管理器进行故障排除时发现它被卡住了 - 提示要找C:\Program Files (x86)\7-Zip\7z.exe。不知道为什么,但我检查了我的系统,确实在标准的Program Files(而不是x86)中安装了7z。我在x86文件夹中复制了一份,重新加载Visual Studio后,Visual Studio又正常了。不确定为什么Visual Studio包管理器依赖于7zip - 但希望这可以帮助其他程序员...


我不确定为什么你在这个问题上受到了攻击。干得好,做了好的侦探工作。 - Dave Alperovich
感谢您的积极反馈。我相信这篇文章会帮助其他遇到同样Visual Studio问题的人。但是显然,这种类型的问题/答案在Stack Overflow上不再受欢迎了。 - aSkywalker
3
有时很容易将无法解释的投票结果当成对自己的攻击,我有时也会这样想。但我认为,大部分投票结果是来自于一些琐碎的个人,他们并不能代表无数众人的声音。 - Dave Alperovich
将7zip文件夹复制到x86目录下,使得NuGet能够为我安装MS Web Optimization到一个已有的ASP.NET网站项目中。感谢您分享这个发现。 - Mike Q
我也完全同意你的观点。谢谢。 - Sinaesthetic
我尝试使用Visual Studio中的包管理器进行故障排除,并注意到它已经冻结了。你能详细解释一下你做了什么吗?当我设置我的新MVC项目时,包管理器控制台根本没有打印出任何东西(除了标准的“每个软件包都有许可证...等等”)。我猜想你必须发出一些命令才能找到这个问题? - David

2

这里的解决方案都对我没用……至少在我的其中一台机器上是这样。

对于我的一台机器,jrummell的答案完美地解决了问题,自那以后我就没有遇到任何问题;而对于我的另一台机器,我必须按照这里的步骤:http://patrickdesjardins.com/blog/failed-to-initialize-the-powershell-host,才能停止出现错误。


0

我有VS2015,这些步骤解决了我的问题

  1. 工具 > 扩展和更新 > 更新 > Visual Studio Gallery > Nuget Package Manager : 更新(此步骤需要输入管理员密码)

  2. 重启VS

  3. 创建新项目


0
发现了一个非常简单的解决方案。
当在Windows资源管理器中右键单击解决方案文件夹时,需要取消位于解决方案文件所在文件夹中的“只读”属性。
为该文件夹授予读/写权限可以解决我的问题 :)

0

对于未来的搜索者,如果aSkywalker的解决方案对您不起作用,请尝试以管理员身份运行VS。这对我有用(更奇怪的是,自那以后我再也没有看到过错误...我无法解释这个现象)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接