【发布时间】:2012-11-29 18:57:52
【问题描述】:
我需要通过从数据库中获取一些数据来自动更新 Nant 脚本。我能想到的解决方案是通过从数据库中获取数据并更新 Nant 脚本的服务来完成。 这可以做到吗?如果是,怎么做?
【问题讨论】:
-
如果你提供一个你正在尝试做的例子,你可能会受益更多:)
我需要通过从数据库中获取一些数据来自动更新 Nant 脚本。我能想到的解决方案是通过从数据库中获取数据并更新 Nant 脚本的服务来完成。 这可以做到吗?如果是,怎么做?
【问题讨论】:
理论上,如果您需要更改脚本的工作方式,那么您可以创建一个程序来生成 NAnt 构建文件,使用 exec 任务运行它,include 该文件然后调用目标。
不过,这似乎有点过于复杂。我想这取决于脚本会根据数据改变多少。
如果数据只是配置,那么您可以使用数据在构建脚本中设置属性(通过与上述相同的机制,或者通过创建自定义任务来根据 SQL 语句的结果创建属性值)。然后使用这些属性来确定构建脚本中的控制流,使用标准的东西,如if 语句和foreach 循环。
我认为没有任何内置功能可以为您执行此操作,但如果您可以编程,自定义任务很容易创建。
【讨论】:
如果你更新/编辑一个 nant 脚本,它不会改变当前的执行。相反,您可以生成 .build 文件并通过<nant>task 执行它们,例如使用<foreach> 循环或<style> xsl 转换。另一种方法是编写一个小的<script>,特别是如果您可以在 C# 中轻松地对其进行编程。如果您希望获得更具体的答案,更多信息会有所帮助。 (使用的数据库,可以使用哪些工具来提取数据)
【讨论】: