2010-08-17 128 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命令刪除只讀標誌。