在Visual Studio的包管理器控制台(V 6.6.0.61)中,命令get-migrations
和其他实体框架命令输出:
Specify --help for a list of available options and commands.
Unrecognized command or argument 'C#'
我已经成功地运行了这个和其他EF命令通过PMC在过去的一周。但是,似乎突然之间,这些命令产生了上面的两行输出。我已经安装了EF V6.4.4,通过Get-Package
和Get-Help about_EntityFramework
验证。
我使用的是ASP.NET MVC 5,而不是Core。
PMC中的get-migrations
通常会列出自seed方法以来实现的迁移文件。我特别困惑,因为“C#”并没有出现在命令本身中。
它看起来像有人posted只是这个问题几天前,但作者删除了它。
有什么线索能解释这一切吗?
编辑:以下是代码库中的软件包,由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}
2条答案
按热度按时间nkcskrwz1#
我不得不重新安装Visual Studio。然后它再次工作。
4xy9mtcn2#
有一种方法可以解决这个问题,直到发布修复程序,并且不需要重新安装Visual Studio。
如果您在PMC中以详细模式运行命令,例如Add-Migration“Name of Amendment”--verbose,您会看到--language参数输出了两次C#。
您可以将该字符串复制出来,然后从语言参数中删除第二个C#,将其粘贴回PMC并运行它。
然后,它将创建您的迁移脚本。注意,您可能需要通过添加->现有项目手动将迁移脚本添加到解决方案的Migrations文件夹中,并选择组成迁移脚本的3个文件。
要更新数据库,请运行Update-Database --verbose,复制上面的字符串并删除第二个C#,然后粘贴回PMC并运行。
希望这个问题很快就能得到永久的解决。