dotnet ef 命令的预期值规则是什么?
What are the rules for expected values to the dotnet ef commands?
在带有迁移的 ASP.NET 核心应用程序中,运行ning 更新数据库提供以下输出。它有效,详细输出显示各种选项的默认值。
dotnet ef --verbose database update
Setting the data directory to 'C:\temp\bin\Debug\netcoreapp1.0\'.
Invoking dependency command 'Microsoft.EntityFrameworkCore.Design' in project '2016-101DP-TreeGame-Auth'
Running C:\Program Files\dotnet\dotnet.exe exec
--runtimeconfig C:\temp\bin\Debug\netcoreapp1.0\temp.runtimeconfig.json
--depsfile C:\temp\bin\Debug\netcoreapp1.0\temp.deps.json
--additionalprobingpath C:\Users\me\.nuget\packages C:\Users\me\.nuget\packages\Microsoft.EntityFrameworkCore.Design.0.0-preview2-final\lib\netcoreapp1.0\Microsoft.EntityFrameworkCore.Design.dll
--assembly C:\temp\bin\Debug\netcoreapp1.0\temp.dll
--startup-assembly C:\temp\bin\Debug\netcoreapp1.0\temp.dll
--dispatcher-version 1.0.0-preview2-21431
--data-dir C:\temp\bin\Debug\netcoreapp1.0\
--project-dir C:\temp
--content-root-path C:\temp
--root-namespace temp
--verbose update database
Process ID: 12544
Finding DbContext classes...
Using context 'ApplicationDbContext'.
Done.
当我尝试 运行 带有选项的相同命令时,CLI 抱怨我的选项有 "unexpected values." 这里有两个例子。
dotnet ef --data-dir C:\temp\bin\Debug\netcoreapp1.0\ --verbose database update
dotnet ef --data-dir "C:\temp\bin\Debug\netcoreapp1.0\" --verbose database update
两人都告诉我:
Microsoft.Extensions.CommandLineUtils.CommandParsingException: Unexpected value 'C:\temp\bin\Debug\netcoreapp1.0\' for option 'data-dir'
at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
at Microsoft.EntityFrameworkCore.Tools.Cli.Program.Main(String[] args)
dotnet ef
命令的预期值规则是什么?
有两层。 dotnet-ef
从项目中读取元数据(并构建它),然后使用该元数据(包括输出程序集路径)调用 ef
。您不能从 dotnet ef
中指定以下选项,因为它们是为您确定的。
--assembly
--startup-assembly
--data-dir
--project-dir
--content-root-path
--root-namespace
dotnet ef --help
中显示的其余选项可以在 dotnet ef
中指定。
作为问题的一部分,这应该会变得更好 #6592。
在带有迁移的 ASP.NET 核心应用程序中,运行ning 更新数据库提供以下输出。它有效,详细输出显示各种选项的默认值。
dotnet ef --verbose database update
Setting the data directory to 'C:\temp\bin\Debug\netcoreapp1.0\'.
Invoking dependency command 'Microsoft.EntityFrameworkCore.Design' in project '2016-101DP-TreeGame-Auth'
Running C:\Program Files\dotnet\dotnet.exe exec
--runtimeconfig C:\temp\bin\Debug\netcoreapp1.0\temp.runtimeconfig.json
--depsfile C:\temp\bin\Debug\netcoreapp1.0\temp.deps.json
--additionalprobingpath C:\Users\me\.nuget\packages C:\Users\me\.nuget\packages\Microsoft.EntityFrameworkCore.Design.0.0-preview2-final\lib\netcoreapp1.0\Microsoft.EntityFrameworkCore.Design.dll
--assembly C:\temp\bin\Debug\netcoreapp1.0\temp.dll
--startup-assembly C:\temp\bin\Debug\netcoreapp1.0\temp.dll
--dispatcher-version 1.0.0-preview2-21431
--data-dir C:\temp\bin\Debug\netcoreapp1.0\
--project-dir C:\temp
--content-root-path C:\temp
--root-namespace temp
--verbose update database
Process ID: 12544
Finding DbContext classes...
Using context 'ApplicationDbContext'.
Done.
当我尝试 运行 带有选项的相同命令时,CLI 抱怨我的选项有 "unexpected values." 这里有两个例子。
dotnet ef --data-dir C:\temp\bin\Debug\netcoreapp1.0\ --verbose database update
dotnet ef --data-dir "C:\temp\bin\Debug\netcoreapp1.0\" --verbose database update
两人都告诉我:
Microsoft.Extensions.CommandLineUtils.CommandParsingException: Unexpected value 'C:\temp\bin\Debug\netcoreapp1.0\' for option 'data-dir'
at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
at Microsoft.EntityFrameworkCore.Tools.Cli.Program.Main(String[] args)
dotnet ef
命令的预期值规则是什么?
有两层。 dotnet-ef
从项目中读取元数据(并构建它),然后使用该元数据(包括输出程序集路径)调用 ef
。您不能从 dotnet ef
中指定以下选项,因为它们是为您确定的。
--assembly
--startup-assembly
--data-dir
--project-dir
--content-root-path
--root-namespace
dotnet ef --help
中显示的其余选项可以在 dotnet ef
中指定。
作为问题的一部分,这应该会变得更好 #6592。