我正在使用代码优先迁移编写.NET Core和Entity Framework核心应用程序。
我希望能够使用Visual Studio Team Services构建和发布定义将其部署到Azure Web App
我希望能够使用脚本
将数据库迁移作为发布定义的一部分运行dotnet ef database update
我是通过发布定义
中的命令提示符操作完成的但是我总是收到消息
No executable found matching command "dotnet-ef"
我已经尝试确保此命令与.cproj文件在同一目录中运行
我也尝试过运行
dotnet restore
作为上一个命令提示符任务,这会产生错误
The folder 'C:\a\r1\a\Drop\s\src\xxxxx' does not contain a project to restore even though it does.
是否有人尝试过代码优先迁移作为团队服务发布定义步骤的一部分?
我的另一个选择是将迁移作为Web应用程序本身的一部分运行,但我想通过Release进程运行它,而不是在Application中运行它。
答案 0 :(得分:2)
您需要使用托管VS2017 代理,而不是托管代理。我的步骤:
代码:
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
</ItemGroup>
dotnet
;参数:--version
)dotnet
;参数:restore
)dotnet
;参数:ef --version
)