SQL Server 2000DBAVisual Studio 2005架构师.NET 2.0XMLSQL Server 2005中级开发Visual StudioSQL ServerWindows.NETC#
自定义 MSBuild 任务:自动化报表和数据库部署






2.94/5 (7投票s)
2006 年 6 月 22 日

77267

461
使用这些自定义 MSBuild 任务自动化 Reporting Services 报告部署和脚本以及数据库任务。
引言
这个库将 RS.exe 工具和 OSQL.exe 工具封装到自定义 MSBuild 任务中,以便您可以自动化 Reporting Services 报告和脚本部署,以及 SQL Server 对象脚本到 MSBuild 项目中。Osql 自定义任务基于 Joey Benninghove 在他的 博客 上找到的示例。
您可以通过扩展/继承 Task
基类或实现 ITask
接口来创建 MSBuild 的自定义任务。 欢迎使用源代码,并请发送任何评论或改进意见给我。
用法
要使用其中一项任务,只需创建一个基于 XML 的 MSBuild 项目文件,如下所示,并使用 MSBuild.exe 命令运行它
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="DeployReportCatalog"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask AssemblyFile=
"C:\Projects\Silvaware.MSBuild.Tasks\bin\Debug\Silvaware.MSBuild.Tasks.dll"
TaskName="Rs" />
<PropertyGroup>
<SqlToolsFolder>C:\program files\microsoft sql server\90\Tools\Binn
</SqlToolsFolder>
<RsTool>$(SqlToolsFolder)\rs.exe</RsTool>
<TargetReportServer>https:///ReportServer</TargetReportServer>
</PropertyGroup>
<ItemGroup>
<TargetItems Include="**\*.rss" />
</ItemGroup>
<Target Name="DeployReportCatalog">
<Rs RsPath="$(RsTool)" InputFile="@(TargetItems)"
ServerURL="$(TargetReportServer)" WaitForExit="true" />
</Target>
</Project>
上面的示例递归地执行此项目中子目录中找到的所有 Reporting Services 脚本文件 (.rss)。 这些 .rss 文件可以包含 VB.NET 代码来部署报告 RDL、数据源、创建文件夹、角色、分配安全权限等。
RS.exe 和 OSQL.exe 工具可以从命令行接收的所有参数/参数都已作为公共属性暴露在自定义任务中,例如上述示例中使用的 RsPath
和 InputFile
属性。
祝您 MSBuild 愉快!