相关疑难解决方法(0)

msbuild.exe保持打开状态,锁定文件

我使用TeamCity,后者又调用msbuild(.NET 4).我有一个奇怪的问题,在构建完成后(如果它是一个成功的构建似乎没关系),msbuild.exe保持打开状态,并锁定其中一个文件,这意味着每次TeamCity尝试要清除其工作目录,它会失败,并且无法继续.

几乎每次都会发生.

我真的迷失了这个,所以我会尽量提供尽可能多的细节.

  • 服务器是英特尔酷睿i7,2 GB内存,带有Windows Server 2008标准的64位SP2.
  • 在TeamCity中,msbuild运行器配置了/m命令行参数(这意味着使用多个核心)
  • 有问题的文件总是与路径中的一个.NET项目中引用的外部DLL相同External Tools\Telerik\Telerik.Reporting.Dll.(External Tools在类似的路径结构中,dir中还包含其他几个.DLL文件,这些文件永远不会导致此问题).目前,这是Telerik报告的试用版,以防万一.
  • 当问题发生时,总有几个msbuild.exe *32在任务管理器中列出的过程:我相信有7.使用Process Explorer中,他们看起来都像顶级工艺(无父母).它们全部使用20-50MB RAM和0.0%CPU.
  • 如果我等待1-3分钟,msbuild.exe进程自行退出,然后TeamCity可以正确更新工作目录.
  • 如果我手动终止msbuild进程,TeamCity的更新将立即再次运行.
  • 在Windows中关闭索引服务(虽然之前的两点几乎确认它是导致问题的msbuild.exe).
  • Telerik.reporting.dll没有特殊属性.唯一的SVN属性是svn:mime-type = application/octet-stream

以前有人碰过这个吗?

msbuild teamcity

91
推荐指数
2
解决办法
3万
查看次数

标签 统计

msbuild ×1

teamcity ×1