指定项目目录中要使用的项目文件

时间:2018-03-17 23:19:24

标签: asp.net-mvc asp.net-core-mvc entity-framework-core entity-framework-core-migrations

尝试在程序包管理器控制台中使用“dotnet ef”命令。 PMC是cd到.csproj目录,仍然得到:

dotnet : Specify which project file to use because this 'C:\Users\PC-NAME\Source\Repos\TestProject\Test" contains more than one project file.
At line:1 char:1

dotnet ef migrations add TestMigration
  + CategoryInfo          : NotSpecified: (Specify which p...e project file.:String) [], RemoteException
  + FullyQualifiedErrorId : NativeCommandError

尝试使用-p / --p并指向.csproj文件/目录 - 仍然是同样的错误。

使用.NET CORE,MVC项目,最新的EF Core 2.0.2版本。

没有那么多有价值的数据 在互联网上关于这个问题,只是一个疯狂的猜测 dotnet ef命令正在寻找要运行的.exe文件。

  

希望得到帮助。

2 个答案:

答案 0 :(得分:0)

您需要同时指定-p-s

dotnet ef ... -p ThisOne.csproj -s ThisOne.csproj

,其中

-p  --project <PROJECT> The project to use.
-s  --startup-project <PROJECT> The startup project to use.

EF Core .NET Command-line Tools

答案 1 :(得分:0)

如果您的项目包含多个 .csproj 文件,您应该将它们移动到项目文件夹以外的另一个目录,然后再次运行命令行。

就我而言,我的项目文件夹中有两个 .csproj:CoreWebApplication.csproj 和 CoreWebApplication-backup.csproj,所以我移动了 CoreWebApplication-backup.csproj 并保留了 CoreWebApplication.csproj

dotnet ef ... -p CoreWebApplication.csproj -s CoreWebApplication.csproj