在过去的几天里,这个错误让我感到困惑,在 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。任何线索将不胜感激。