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

erhoui1w  于 2023-10-23  发布在  C#
关注(0)|答案(2)|浏览(218)

在Visual Studio的包管理器控制台(V 6.6.0.61)中,命令get-migrations和其他实体框架命令输出:

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

我已经成功地运行了这个和其他EF命令通过PMC在过去的一周。但是,似乎突然之间,这些命令产生了上面的两行输出。我已经安装了EF V6.4.4,通过Get-PackageGet-Help about_EntityFramework验证。
我使用的是ASP.NET MVC 5,而不是Core。
PMC中的get-migrations通常会列出自seed方法以来实现的迁移文件。我特别困惑,因为“C#”并没有出现在命令本身中。
它看起来像有人posted只是这个问题几天前,但作者删除了它。
有什么线索能解释这一切吗?

编辑:以下是代码库中的软件包,由Get-Package报告(删除了ProjectName列):

  1. Id Versions -------- -----------
  2. Antlr {3.5.0.2}
  3. bootstrap {4.6.0}
  4. EntityFramework {6.4.4}
  5. jQuery {3.6.0}
  6. jQuery.Validation {1.19.3}
  7. Microsoft.AspNet.Mvc {5.2.7}
  8. Microsoft.AspNet.Razor {3.2.7}
  9. Microsoft.AspNet.Web.Optimization {1.1.3}
  10. Microsoft.AspNet.WebPages {3.2.7}
  11. Microsoft.CodeDom.Providers.DotN... {3.6.0}
  12. Microsoft.jQuery.Unobtrusive.Val... {3.2.12}
  13. Microsoft.Web.Infrastructure {1.0.0.0}
  14. Modernizr {2.8.3}
  15. Newtonsoft.Json {13.0.1}
  16. popper.js {1.16.1}
  17. System.Reflection {4.3.0}
  18. WebGrease {1.6.0}
  19. Microsoft.AspNet.Mvc {5.2.7}
  20. Microsoft.AspNet.Razor {3.2.7}
  21. Microsoft.AspNet.WebPages {3.2.7}
  22. Microsoft.CodeDom.Providers.DotN... {3.6.0}
  23. Microsoft.Web.Infrastructure {1.0.0.0}
  24. EntityFramework {6.4.4}
  25. Microsoft.AspNet.Mvc {5.2.7}
  26. Microsoft.AspNet.Razor {3.2.7}
  27. Microsoft.AspNet.WebPages {3.2.7}
  28. Microsoft.CodeDom.Providers.DotN... {3.6.0}
  29. Microsoft.Web.Infrastructure {1.0.0.0}
  30. System.Buffers {4.5.1}
  31. Ical.Net {4.2.0}
  32. MailKit {3.4.3}
  33. Microsoft.CodeDom.Providers.DotN... {3.6.0}
  34. MimeKit {3.4.3}
  35. NodaTime {3.0.9}
  36. NS.Utilities.EmailHelper {1.0.23}
  37. Portable.BouncyCastle {1.9.0}
  38. System.Buffers {4.5.1}
  39. System.Diagnostics.EventLog {7.0.0}
  40. System.Memory {4.5.5}
  41. System.Numerics.Vectors {4.5.0}
  42. System.Runtime.CompilerServices.... {6.0.0}
  43. System.Security.Principal.Windows {5.0.0}
  44. System.Threading.Tasks.Extensions {4.5.4}
  45. Antlr {3.5.0.2}
  46. bootstrap {4.6.0}
  47. EntityFramework {6.4.4}
  48. jQuery {3.6.0}
  49. jQuery.UI.Combined {1.13.1}
  50. jQuery.Validation {1.19.3}
  51. Microsoft.AspNet.Mvc {5.2.7}
  52. Microsoft.AspNet.Razor {3.2.7}
  53. Microsoft.AspNet.Web.Optimization {1.1.3}
  54. Microsoft.AspNet.WebPages {3.2.7}
  55. Microsoft.CodeDom.Providers.DotN... {3.6.0}
  56. Microsoft.jQuery.Unobtrusive.Val... {3.2.12}
  57. Microsoft.Web.Infrastructure {1.0.0.0}
  58. Modernizr {2.8.3}
  59. Newtonsoft.Json {13.0.1}
  60. popper.js {1.16.1}
  61. System.Buffers {4.5.1}
  62. System.Reflection {4.3.0}
  63. WebGrease {1.6.0}
nkcskrwz

nkcskrwz1#

我不得不重新安装Visual Studio。然后它再次工作。

4xy9mtcn

4xy9mtcn2#

有一种方法可以解决这个问题,直到发布修复程序,并且不需要重新安装Visual Studio。
如果您在PMC中以详细模式运行命令,例如Add-Migration“Name of Amendment”--verbose,您会看到--language参数输出了两次C#。
您可以将该字符串复制出来,然后从语言参数中删除第二个C#,将其粘贴回PMC并运行它。
然后,它将创建您的迁移脚本。注意,您可能需要通过添加->现有项目手动将迁移脚本添加到解决方案的Migrations文件夹中,并选择组成迁移脚本的3个文件。
要更新数据库,请运行Update-Database --verbose,复制上面的字符串并删除第二个C#,然后粘贴回PMC并运行。
希望这个问题很快就能得到永久的解决。

相关问题