在Package Manager Console执行dotnet ef命令时遇多项目文件指定问题
解决dotnet ef命令提示“多个项目文件”的问题
我之前也碰到过一模一样的坑,明明切换到项目目录了,加了-p参数还是报错,给你几个靠谱的排查和解决方向:
- 先确认目录里的项目文件:先在PMC里执行
dir *.csproj,看看当前路径下到底有几个项目文件,确保你要指定的那个文件名完全正确(别打错字,注意大小写或者后缀细节)。 - 正确使用
--project参数:很多时候问题出在参数路径的写法上,要写完整的相对路径或者绝对路径,比如:- 如果目标项目就在当前目录:
dotnet ef migrations add TestMigration --project ./YourProjectName.csproj - 如果路径带空格,一定要加引号:
dotnet ef migrations add TestMigration --project "C:\Users\PC-NAME\Source\Repos\TestProject\Test\YourProject.csproj"
- 如果目标项目就在当前目录:
- 别忘了指定启动项目(如果需要):如果你的DBContext在类库项目里,而程序的配置(比如连接字符串)在Web项目或者其他启动项目里,必须同时指定
--startup-project参数,比如:dotnet ef migrations add TestMigration --project ./DataLibrary.csproj --startup-project ./WebApiProject.csproj - 试试PMC专属命令:既然你已经在Package Manager Console里了,其实可以直接用NuGet的PMC命令,不用
dotnet ef,这种方式会自动识别解决方案里的项目,更省心:Add-Migration TestMigration -ProjectName YourTargetProjectName
内容的提问来源于stack exchange,提问作者user3181843
相关产品推荐
相关产品推荐

