3

我设置了一个 nant 构建文件,它在 cmd 行中可以正常工作,但在 TeamCity 中却不行。

我已经检查了我执行的命令是从 TC 所在的同一目录运行并检查了所有引用,但它仍然失败并出现以下错误:

[build] Compile the project using Debug configuration...
[10:30:05]: [build] msbuild (1m:18s)
[10:30:06]: [msbuild] Starting MSBuild...
[10:30:07]: [msbuild] Starting 'C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe (@"G:\TeamCity\buildAgent\work\9de21b975852dd95\src\Irm.Web.App\Irm.Web.App.sln.teamcity.msbuild.tcargs")' in 'G:\TeamCity\buildAgent\work\9de21b975852dd95'
[10:30:09]: [msbuild] MSBUILD : error MSB1025: An internal failure occurred while running MSBuild.
[10:31:18]: [msbuild] Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
[10:31:18]: [msbuild] at Microsoft.Build.CommandLine.MSBuildApp.BuildProject(String projectFile, String[] targets, String toolsVersion, BuildPropertyGroup propertyBag, ILogger[] loggers, LoggerVerbosity verbosity, DistributedLoggerRecord[] distributedLoggerRecords, Boolean needToValidateProject, String schemaFile, Int32 cpuCount, Boolean enableNodeReuse)
[10:31:18]: [msbuild] at Microsoft.Build.CommandLine.MSBuildApp.Execute(String commandLine)
[10:31:18]: [msbuild] at Microsoft.Build.CommandLine.MSBuildApp.Main()
[10:31:24]: G:\TeamCity\buildAgent\work\9de21b975852dd95\Irm-deploy.build(22,10): External Program Failed: msbuild (return code was -1073741819)

有谁知道为什么 TC 无法运行构建但我知道它可以工作?

干杯

w://

4

3 回答 3

9

默认情况下,TeamCity Build Agent 服务作为本地系统帐户运行。如果您的测试或构建脚本需要该帐户无法访问的内容(在我的情况下是数据库连接),您有两个选择:

  • 更改资源的权限以允许系统帐户访问

  • 更改构建代理服务使用的帐户

更改服务帐户与任何其他 Windows 服务相同 - 通过控制面板/管理工具/服务

于 2009-06-06T04:15:31.783 回答
3

我有这个问题。您的任务中的详细程度是否设置为安静?msbuild如果是这样,请删除它,它可能会起作用 - 它对我有用。

另请参阅此报告的错误(不是我的)。

于 2010-03-25T21:51:08.333 回答
1

团队城市代理在与您使用的用户不同的用户下运行。如果我没记错的话,您可以在安装代理时更改它,或者您可以更改运行代理服务的用户。

此外,您可以选择不将代理作为服务运行,而是将其作为普通命令行程序运行。

于 2009-04-21T12:10:32.653 回答