5

在过去的几天里,这个错误让我感到困惑,在 Google 上几乎找不到关于此的信息。这开始于前几天我被分配了一台新笔记本电脑,我基本上是在全新安装的带有 VS2012 Update 1 的 Windows 7 x64 上运行它。

每当我使用 Entity Framework 5 或 6-alpha 启动项目时,此异常都会被抛出到包管理器控制台:

New-Object : Cannot find an overload for "Version" and the argument count: "2".
At <project path>\packages\EntityFramework.5.0.0\tools\in
it.ps1:5 char:46
+ if ($PSVersionTable.PSVersion -ge (New-Object <<<<  Version @( 3, 0 )))
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

Test-ModuleManifest : Invalid Module Manifest path '<project path>
\packages\EntityFramework.5.0.0\tools\'. The path argument must resolve to a single file in the file system with a '
.psd1' extension. Please fix the path specification and try again.
At <project path>\packages\EntityFramework.5.0.0\tools\in
it.ps1:14 char:34
+ $thisModule = Test-ModuleManifest <<<<  (Join-Path $toolsPath $thisModuleManifest)
    + CategoryInfo          : InvalidArgument: (C:\Users\stephe...rk.5.0.0\tools\:String) [Test-ModuleManifest], InvalidOper 
   ationException
    + FullyQualifiedErrorId : Modules_InvalidModuleManifestPath,Microsoft.PowerShell.Commands.TestModuleManifestCommand

Import-Module : Cannot bind argument to parameter 'Name' because it is null.
At <project path>\packages\EntityFramework.5.0.0\tools\in
it.ps1:31 char:18
+     Import-Module <<<<  $thisModule
    + CategoryInfo          : InvalidData: (:) [Import-Module], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ImportModuleComma 
   nd

我可以通过手动编辑包脚本来消除这个错误,但感觉这是错误的方法。也有多个以这种方式检查 Powershell 版本的实例,所以我怀疑这是我的计算机配置有问题。

这影响了我针对 .NET 4.5 的多个 ASP.NET MVC 4 项目。由于此错误,我无法运行任何实体框架命令,例如 Enable-Migrations 或 Update-Database。任何线索将不胜感激。

4

1 回答 1

2

我终于让它工作了,就像升级到 PowerShell 3.0 一样简单。这有点使版本检测毫无意义,但是嘿,至少它有效。

于 2013-03-04T11:36:43.310 回答