【问题标题】:Net Core: Use Command Line to Change 'Default Project' in 'Package Manager Console' NugetNet Core:使用命令行更改“包管理器控制台”Nuget 中的“默认项目”
【发布时间】:2019-12-17 15:34:47
【问题描述】:

如何通过包管理器控制台更改默认项目? PM> 中的命令行是什么,而不是移动鼠标下拉菜单并选择项目? 有命令行吗?

上下文:我们最终想要运行 Powershell 脚本,将我们所有的 5 个数据库重新构建到 Entity Framework 中的项目文件夹中。

【问题讨论】:

  • 好吧,如果您的目标是通过脚本实现自动化,您最好只使用 cmdlet 的 -ProjectName 开关或使用 nuget.exe 本身。
  • 我知道在命令提示符下更改目录,它 cd TestDirectory 等,在 Nuget 中更改项目名称是什么?
  • 在控制台中,如果你想定位一个名为TestProject的项目,你可以安装一个类似Install-Package My.Package.Name -ProjectName TestProject的包
  • @JonathonChase 我需要搭建一个数据库,并且需要更改它所在的项目名称
  • 像 Jonathon 建议的那样,在使用 nuget 命令时指定项目名称。要将数据库重新定位到项目文件夹,这似乎与 nuget 无关。您甚至可以在 cmd.exe 中执行此操作。

标签: c# .net visual-studio .net-core nuget


【解决方案1】:

您可以通过在包管理器控制台中使用迁移命令的-Project 参数来实现相同的结果。

Entity Framework Core tools reference - Package Manager Console in Visual Studio

add-migrationupdate-database 命令都有共同的参数:-Project-StartupProject,因此您可以编写一个完整的迁移命令/脚本,而不知道 PM 窗口中的下拉设置是什么。

【讨论】:

    【解决方案2】:

    我在搜索类似需求时发现了这个。

    https://docs.microsoft.com/en-us/ef/core/cli/powershell#target-and-startup-project

    Scaffold-DbContext -StartupProject {an appropriate project} -Project ...
    

    我的特殊情况是 Microsoft 文档中列出的第一个典型场景。

    • “EF Core 上下文和实体类位于 .NET Core 类库中。”

    我有一个仅用于 EF Scaffolding 的小项目,该项目名称是我传递给 -StartupProject 参数的名称。在处理包含许多项目的大型解决方案时,我厌倦了更改默认项目下拉菜单,其中大多数项目没有引用 EntityFrameworkCore 包(也不应该引用)。

    【讨论】:

      猜你喜欢
      • 2012-08-15
      • 1970-01-01
      • 2012-05-10
      • 2017-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多