.net core Azure DevOps管道dotnet ef迁移因本地工件而失败
我的Azure DevOps管道需要访问Azure DevOps工件源中存储的一些NuGet软件包 包源工件在.net core Azure DevOps管道dotnet ef迁移因本地工件而失败,.net-core,azure-devops,azure-pipelines,azure-artifacts,azure-devops-pipelines,.net Core,Azure Devops,Azure Pipelines,Azure Artifacts,Azure Devops Pipelines,我的Azure DevOps管道需要访问Azure DevOps工件源中存储的一些NuGet软件包 包源工件在nuget.config的中定义: 并添加了--no restore参数。 现在它可以工作了: -任务:DotNetCoreCLI@2 投入: 命令:发布 publishWebProjects:正确 参数:'--configuration$(BuildConfiguration)--输出$(Build.ArtifactStagingDirectory)--无还原' zipAfterPu
nuget.config
的
中定义:
并添加了--no restore
参数。
现在它可以工作了:
-任务:DotNetCoreCLI@2
投入:
命令:发布
publishWebProjects:正确
参数:'--configuration$(BuildConfiguration)--输出$(Build.ArtifactStagingDirectory)--无还原'
zipAfterPublish:对
但是现在,dotnet ef迁移
不起作用:构建失败
亚马尔:
-任务:DotNetCoreCLI@2
投入:
命令:“自定义”
自定义:“ef”
参数:“迁移脚本--启动项目xxx/xxx.Portal/xxx.Portal.csproj--项目xxx/xxx.Core/xxx.Core.csproj--输出$(Build.ArtifactStagingDirectory)/SQL/migrate.SQL--上下文Dbxxx--幂等”
我尝试了--无构建
…:
-任务:DotNetCoreCLI@2
投入:
命令:“自定义”
自定义:“ef”
参数:“迁移脚本--无生成--启动项目xxx/xxx.Portal/xxx.Portal.csproj--项目xxx/xxx.Core/xxx.Core.csproj--输出$(build.ArtifactStagingDirectory)/SQL/migrate.SQL--上下文Dbxxx--幂等”
。。。但另一个错误是:
The specified deps.json [D:\a\1\s\xxx\xxx.Portal\bin\Debug\net5.0\xxx.Portal.deps.json] does not exist
同时添加feedsToUse
和vstsFeed
输入不会改变任何内容:
-任务:DotNetCoreCLI@2
投入:
命令:“自定义”
自定义:“ef”
参数:“迁移脚本--启动项目xxx/xxx.Portal/xxx.Portal.csproj--项目xxx/xxx.Core/xxx.Core.csproj--输出$(Build.ArtifactStagingDirectory)/SQL/migrate.SQL--上下文Dbxxx--幂等”
feedsToUse:“选择”
vstsFeed:'xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
多亏了Levi Lu MSFT的评论,我修复了我的YAML,在ef迁移之前添加了两个任务
由于Azure DevOps不允许用户在build
和ef migrations
任务中的restore
操作上指定访问私有Azure DevOps工件源的授权,因此正确的顺序是:
通过feedsToUser
和vstsFeed
生成
带有的任务--无恢复
参数
ef迁移
带有的任务--无生成
参数
因此,完整的YAML是:
-任务:DotNetCoreCLI@2
displayName:“dotnet还原”
投入:
命令:“还原”
项目:“***.csproj”
feedsToUse:“选择”
vstsFeed:'xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
-任务:DotNetCoreCLI@2
投入:
命令:“构建”
项目:“xxx/xxx.Portal”
参数:'--无还原'
-任务:DotNetCoreCLI@2
投入:
命令:“自定义”
自定义:“ef”
参数:“迁移脚本--无生成--启动项目xxx/xxx.Portal/xxx.Portal.csproj--项目xxx/xxx.Core/xxx.Core.csproj--输出$(build.ArtifactStagingDirectory)/SQL/migrate.SQL--上下文Dbxxx--幂等”
在dotnet任务执行dotnet ef迁移之前,您是否可以尝试添加一个dotnet任务以运行build命令来生成项目,该任务使用--no build
?现在可以运行了。我必须添加两个任务:nuget restore和build with--无恢复。谢谢现在我将尝试合理化YAML,因为我有双重任务。很好,你解决了它。您可以在应答线程中共享修复,以防有人发现它有用。