19

在我工作的地方,我们会根据需要创建 Azure 网站和 SQL 数据库,用于开发目的以及暂存和生产环境。我们为每个发布配置文件创建一个 web.config 转换,以将数据库连接字符串更改为与该网站关联的数据库。

现在,我正在尝试创建一个需要更新数据库的 Azure WebJob。我通过右键单击 Web 应用程序项目并选择添加新的 Azure WebJob 来创建它。

我需要得到它来做我需要的是指向 Web 应用程序正在使用的同一个数据库的 SQL 数据库连接字符串。我知道这些可以在 Azure 门户中设置并使用配置管理器获取,但我宁愿能够在 WebJob 的 App.config 中拥有它并根据需要转换 App.config。

我尝试为此使用 Slow Cheetah,但似乎您只能对 Debug 和 Release 配置进行转换。

我开始执行此博客中指定的步骤:http: //gunnarpeipman.com/2013/11/using-web-config-transforms-with-app-config-files/

它告诉您如何手动编辑 .csproj 文件以启用 App.config 转换。但是,这不是一个更好的解决方案,因为您必须为所需的每个转换手动编辑项目文件。

谁能告诉我如何做到这一点?甚至可能吗?或者有没有办法共享我的网络应用程序的 web.config 文件中的值,我知道这些值将转换为我需要的值?

4

2 回答 2

8

正如@binard 建议的那样,Slow Cheetah 是创建 web.config 或 app.config 转换的好方法。创建转换后,您还可以预览特定配置的转换。

我的首选方法是创建自定义配置,例如 Dev 和 Prod,并使用“Slow Cheetah XML Transforms”扩展为 Dev 和 Prod 创建除 Debug 和 Release 之外的转换。

完成此步骤后,下一个挑战是确保 Azure 中的持续部署设置选择正确的配置。为此,您必须在 Azure 门户的“应用程序设置”部分设置与您的 Azure Web 应用程序关联的配置。例子:

SCM_BUILD_ARGS=-p:Configuration=Dev

设置完成后,Azure 中此 Web 应用程序下的所有 Web 作业将获取父 Web 应用程序中指定配置的转换。

于 2016-01-12T23:11:14.467 回答
3

你可以使用慢猎豹。它是 Visual Studio 的扩展,可在 App.config => https://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5上添加转换可能性

于 2015-11-10T10:44:04.430 回答