Azure devops ASP.Net核心EF迁移生产连接字符串null

问题描述 投票:1回答:1

我正在尝试使用Azure devops中的构建管道构建我的ASP.Net Core,并在运行脚本来编写ef迁移脚本时出错。

我故意在appsettings.json文件中没有生产连接字符串。生产连接字符串填充在应用服务的“配置”部分中。我知道Web应用程序可以连接到我使用Visual Studio发布的数据库,并且已在生产数据库中创建表,也可以读取/保存到数据库。

我正在运行的脚本是:

dotnet ef migrations script -i -o $(build.artifactstagingdirectory)\scripts.sql --project $(Build.SourcesDirectory)\MyApp\MyApp.csproj --startup-project $(Build.SourcesDirectory)\MyApp\MyApp.csproj

脚本输出中的错误是:

System.ArgumentNullException:值不能为null。参数名称:connectionString

所以我的问题是如何在没有appsettings.json文件中的连接字符串的情况下将生产连接字符串传递给ef迁移命令?

asp.net-core azure-devops entity-framework-core
1个回答
0
投票

Azure DevOps无法立即访问您的WebApp配置。您可以使用Azure API使用自定义脚本读取它们,但我不建议这样做,因为该API还可以获取有关Azure安装程序的其他信息。

我建议您将配置(或其共享部分)移动到Azure Key Vault,然后您可以轻松使用.NET Core appsAzure DevOps中的配置。

之后当Azure DevOps在其环境中配置了ConnectionString时,通常的dotnet ef migrations命令应该可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.