gpt4 book ai didi

azure - 使用 VSTS 发布定义运行 Entity Framework 代码数据库迁移

转载 作者:行者123 更新时间:2023-12-04 12:45:52 24 4
gpt4 key购买 nike

我正在使用代码优先迁移编写 .NET Core 和 Entity Framework Core 应用程序。

我希望能够使用 Visual Studio Team Services 构建和发布定义将其部署到 Azure Web 应用

我希望能够使用脚本运行数据库迁移作为发布定义的一部分

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 应用程序本身的一部分来运行迁移,但我想通过发布过程来运行它,而不是在应用程序中运行它。

最佳答案

您需要使用托管VS2017代理而不是托管代理。我的步骤:

  1. 编辑 csproj 文件以添加以下代码并 checkin 更改(请参阅 .NET Command Line Tools 文章)

代码:

<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)
  • 使用托管 VS2017 代理构建队列。
  • 关于azure - 使用 VSTS 发布定义运行 Entity Framework 代码数据库迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43260137/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com