2010-08-17 83 views
1

我正在使用TFS 2010中的InvokeProcess活动来尝试和运行构建的exe上的corflags应用程序。试图从TFS构建2010运行corflags

C:\Builds\4\testing\Sources\BuildAssets\corflags.exe C:\Builds\4\testing\Binaries\Executable.exe /32bit+ 

但是我收到以下消息:

corflags:错误CF001:无法打开文件编写

我运行的是TFS建立在我的本地代理因为我目前正处于测试阶段,并且当我从命令行运行完全相同的命令时,corflags应用程序无错地完成。

任何想法将不胜感激。

+0

通过提交提案,添加对专用Visual Studio ALM Q&A堆栈交换站点的支持。 http://area51.stackexchange.com/proposals/15894/visual-studio-alm?referrer=vtx1N5_bjYysH8mQCaDCxQ2 – 2010-08-17 15:45:07

回答

1

我不熟悉具体情况,但一些总体思路:

谁是构建运行的?该用户是否有权限输出路径?

另一个考虑因素是:构建是否在尝试执行命令之前完成?

尝试改变命令是很简单的东西如类型“OUTPUTFILE” - 这是否击中了同样的问题?如果是这样,这是一个许可/时间问题。如果没有,这是具体的命令 - 但至少我们已经缩小了问题的范围。

+0

构建运行在我的帐户下,该帐户可以完全访问目录。 编译完成并已设置为BuildPhaseStatus.Complete后,我会执行所有后期构建步骤。 我能够实现其他命令,如创建目录。 Ewald Hofman已经在上面作了回答,并提到了这两个文件的只读状态。 Corflags是只读源代码的一部分(只是为了简化未来构建代理的缩放),但是我试图更改标头的exe文件不是只读的。谢谢。 – Swaff 2010-08-18 09:56:42

+0

这个错误是否发生在针对.exe的任何[写入]操作或仅针对corflags? – Basic 2010-08-18 10:12:47

+0

除了构建过程创建的exe外,corflags.exe是唯一一个试图修改我的输出的应用程序。 – Swaff 2010-08-18 11:03:47

1

我也不知道corflags,但它正在使用工作区中的文件(从版本控制下载的文件)。这个文件默认有一个只读标志。

所以如果你需要这个文件是可写的:
1)无论是签出文件,如果你需要这个文件在你的版本控制和事后检查它再次(TF结账/ TF签)
2)删除文件从版本控制,如果该文件是由应用程序创建的
3)使用attrib命令删除只读标志。

相关问题