【发布时间】:2013-08-27 14:25:39
【问题描述】:
我的团队项目包含一个 Web 窗体应用程序和 WCF 服务,位于两个独立的解决方案中(WCF 服务托管在域内的服务器上,Web 应用程序位于 DMZ 中)。 我的团队项目有两个构建定义:CI 构建和手动构建 昨天我将一个分支合并回我的主干以准备部署。当我签入我的合并时,CI 构建开始......并成功。因此,我将手动构建排入队列(手动构建最终在产品服务器上完成)。手动构建失败。我现在每次运行它都会失败,但是 CI 构建每次都会成功。构建日志中的错误粘贴在下面。我不知道我是如何破坏这个构建的,我很困惑为什么 CI 构建成功但手动构建失败(相同的构建定义,除了放置位置不同并且触发器不同)。
错误:
异常消息:访问路径 'C:\Builds\1\My Web App\My Web App\Sources\MyAppWcfServices\Services\Messages' 被拒绝。 (类型 UnauthorizedAccessException)异常堆栈跟踪:在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
在 System.IO.FileSystemEnumerableIterator1.CommonInit() at System.IO.FileSystemEnumerableIterator1..ctor(字符串路径,字符串 originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) at System.IO.Directory.InternalGetFileDirectoryNames(字符串路径,字符串 userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption, Boolean checkHost) at System.IO.Directory.InternalGetDirectories(字符串路径,字符串 搜索模式,搜索选项搜索选项)在 Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(字符串 路径)在 Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(字符串 路径)在 Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(字符串 路径)在 Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(字符串 路径)在 Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectory(字符串路径, 布尔递归)在 Microsoft.TeamFoundation.Build.Workflow.Activities.DeleteDirectory.Execute(CodeActivityContext 上下文)在 System.Activity.CodeActivity.InternalExecute(ActivityInstance 实例,ActivityExecutor 执行器,BookmarkManager 书签管理器) 在 System.Activity.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
我读过/尝试过的东西:
- TFS 2012 Build "Access to Path Denied"
- Tool to find duplicate copies in a build(我没有运行该工具, 找不到像示例一样命名的日志文件...困惑)
版本控制中没有我的 obj 或 bin 目录。 直到昨天,这个构建定义已经运行了几个月。我不确定当我合并时发生了什么会导致这种情况。我的合并中没有冲突,这很容易......直到我尝试构建。
【问题讨论】:
-
CI 和手动构建是否发生在同一台服务器上?