0

我的团队项目由两个独立的解决方案中的 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,字符串 searchPattern,SearchOption searchOption,SearchResultHandler`1 resultHandler,布尔 checkHost)在 System.IO.Directory.InternalGetFileDirectoryNames(字符串路径,字符串 userPathOriginal,字符串 searchPattern,布尔 includeFiles,布尔 includeDirs,SearchOption searchOption, Boolean checkHost) at System.IO.Directory.InternalGetDirectories(String path, String searchPattern, SearchOption searchOption) at Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(String path) at Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(String path ) 在 Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(String path) 在 Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(String path)。TeamFoundation.Common.FileSpec.DeleteDirectory(String path, Boolean recursive) at Microsoft.TeamFoundation.Build.Workflow.Activities.DeleteDirectory.Execute(CodeActivityContext context) at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)在 System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor 执行器,BookmarkManager 书签管理器,位置结果位置)Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor 执行器,BookmarkManager 书签管理器,位置结果位置)Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor 执行器,BookmarkManager 书签管理器,位置结果位置)

我读过/尝试过的东西:

我在版本控制中没有我的objbin目录。直到昨天,这个构建定义已经运行了几个月。我不确定当我合并时发生了什么会导致这种情况。我的合并中没有冲突,这很容易......直到我尝试构建。

4

3 回答 3

1

只需转到构建控制器服务器并停止“Visual Studio Team Foundation Build Service Host 2013”​​并删除消息中出现错误的文件或文件夹并再次启动服务

于 2014-03-31T15:08:57.247 回答
0

我已经看到在 iexplorer/cmd.exe 等(由您或其他用户)中打开特定文件夹/文件时发生此错误。当 TFS 尝试清理目录并获取最新文件时,它将失败,因为它被另一个进程使用。

如果您有权访问服务器,则打开任务管理器 -> 进程并关闭其他用户的所有 iexplorer.exe/cmd.exe 进程。希望这会解决它。

于 2013-08-27T20:07:44.590 回答
0

您是否检查过实际文件是否已锁定?尝试像解锁器http://www.emptyloop.com/unlocker这样的工具

于 2013-08-27T14:32:51.717 回答