VS PMC EF 命令错误:无法识别的命令或参数“C#”

问题描述 投票:0回答:2

在 Visual Studio 的包管理器控制台 (V 6.6.0.61) 中,命令

get-migrations
,以及其他实体框架命令,输出:

Specify --help for a list of available options and commands.
Unrecognized command or argument 'C#'

我已在上周通过 PMC 成功运行此命令和其他 EF 命令。但是,这些命令似乎突然产生了上述两行输出。我已经安装了 EF V6.4.4,已通过

Get-Package
Get-Help about_EntityFramework
验证。

我使用的是 ASP.NET MVC 5,而不是 Core。

PMC中的

get-migrations
通常会列出自种子方法以来已实现的迁移文件。我特别困惑,因为“C#”没有出现在命令本身中......

好像前几天有人发过这个问题,但作者删除了。

有什么想法可能导致这种情况吗?

--

编辑: 以下是代码库中的软件包,由

Get-Package
报告(已删除
ProjectName
列):

Id                                  Versions                                                                --------                                 -----------                                   
Antlr                               {3.5.0.2}   
bootstrap                           {4.6.0}    
EntityFramework                     {6.4.4}    
jQuery                              {3.6.0}     
jQuery.Validation                   {1.19.3}     
Microsoft.AspNet.Mvc                {5.2.7}  
Microsoft.AspNet.Razor              {3.2.7}   
Microsoft.AspNet.Web.Optimization   {1.1.3}    
Microsoft.AspNet.WebPages           {3.2.7}   
Microsoft.CodeDom.Providers.DotN... {3.6.0}    
Microsoft.jQuery.Unobtrusive.Val... {3.2.12}   
Microsoft.Web.Infrastructure        {1.0.0.0}  
Modernizr                           {2.8.3}    
Newtonsoft.Json                     {13.0.1}  
popper.js                           {1.16.1}    
System.Reflection                   {4.3.0}   
WebGrease                           {1.6.0}    
Microsoft.AspNet.Mvc                {5.2.7}   
Microsoft.AspNet.Razor              {3.2.7}    
Microsoft.AspNet.WebPages           {3.2.7}   
Microsoft.CodeDom.Providers.DotN... {3.6.0}    
Microsoft.Web.Infrastructure        {1.0.0.0} 
EntityFramework                     {6.4.4}   
Microsoft.AspNet.Mvc                {5.2.7}    
Microsoft.AspNet.Razor              {3.2.7}  
Microsoft.AspNet.WebPages           {3.2.7}    
Microsoft.CodeDom.Providers.DotN... {3.6.0}   
Microsoft.Web.Infrastructure        {1.0.0.0}  
System.Buffers                      {4.5.1}   
Ical.Net                            {4.2.0}    
MailKit                             {3.4.3}  
Microsoft.CodeDom.Providers.DotN... {3.6.0}   
MimeKit                             {3.4.3} 
NodaTime                            {3.0.9}   
NS.Utilities.EmailHelper            {1.0.23}   
Portable.BouncyCastle               {1.9.0}   
System.Buffers                      {4.5.1} 
System.Diagnostics.EventLog         {7.0.0}    
System.Memory                       {4.5.5}   
System.Numerics.Vectors             {4.5.0}    
System.Runtime.CompilerServices.... {6.0.0}   
System.Security.Principal.Windows   {5.0.0}    
System.Threading.Tasks.Extensions   {4.5.4}   
Antlr                               {3.5.0.2}  
bootstrap                           {4.6.0} 
EntityFramework                     {6.4.4}   
jQuery                              {3.6.0}  
jQuery.UI.Combined                  {1.13.1}  
jQuery.Validation                   {1.19.3} 
Microsoft.AspNet.Mvc                {5.2.7} 
Microsoft.AspNet.Razor              {3.2.7}
Microsoft.AspNet.Web.Optimization   {1.1.3}
Microsoft.AspNet.WebPages           {3.2.7}
Microsoft.CodeDom.Providers.DotN... {3.6.0}
Microsoft.jQuery.Unobtrusive.Val... {3.2.12}
Microsoft.Web.Infrastructure        {1.0.0.0}
Modernizr                           {2.8.3}
Newtonsoft.Json                     {13.0.1}
popper.js                           {1.16.1}
System.Buffers                      {4.5.1}
System.Reflection                   {4.3.0}
WebGrease                           {1.6.0}
visual-studio entity-framework nuget-package package-manager-console
2个回答
0
投票

我必须重新安装 Visual Studio。然后又成功了。


0
投票

有一种方法可以解决此问题,直到发布修复程序并且不需要重新安装 Visual Studio。

如果您从 PMC 以详细模式运行命令,例如Add-Migration "Name of Amendment" --verbose,你会看到对于--language参数,C#被输出了两次。

您可以复制该字符串,然后从语言参数中删除第二个 C#,将其粘贴回 PMC 并运行它。

然后它将创建您的迁移脚本。 注意,您可能需要通过添加->现有项目手动将迁移脚本添加到解决方案中的Migrations文件夹中,并选择组成迁移脚本的3个文件。

要更新数据库,请运行 Update-Database --verbose,复制上面的字符串并删除第二个 C#,然后粘贴回 PMC 并运行。

希望这个问题很快就会得到永久修复。

© www.soinside.com 2019 - 2024. All rights reserved.