为什么在使用TFS团队构建运行时SqlCmd MSBuild任务会抛出错误?

时间:2009-10-18 16:42:15

标签: msbuild tfs2008

我在the MSBuild Extension Pack site问过这个问题,但我想我会试着多看一眼,以防其他人有类似的经历:

我有一个非常简单的任务,应该在文件夹中执行一系列sql脚本文件。 (该任务位于名为OperationalDB.msbuild的文件中)。任务看起来像这样:

<MSBuild.ExtensionPack.SqlServer.SqlCmd
    TaskAction="Execute"
    Server="$(SqlServerName)"
    Database="$(SqlCatalogName)"
    InputFiles="@(OperationalStaticDataFiles)"
/>

作为TFS 2008团队构建的一部分运行时失败。日志错误说:

C:\ b \ 56 \ S \ Main \ Builds \ OperationalDB.msbuild:警告:退出代码1.失败:Sqlcmd:错误:ReadTextLine内部错误(原因:未指定错误)。

更糟糕的是(从调试的角度来看),如果我使用与团队构建服务运行相同的帐户登录我的构建服务器,并从命令行通过MSBuild运行OperationalDB.msbuild,它可以很好地工作。没有错误,所有SQL都会执行。

我对该任务的理解是它包装了SQLCmd控制台应用程序。所以我也尝试在构建服务器上运行它。它也有效。混合中的变量似乎是TFS Team Build。但它没有让我了解如何调查它 - 只是上面列出的错误。

有什么想法吗?

0 个答案:

没有答案