Попытка запустить corflags из TFS Build 2010

Я использую действие InvokeProcess в TFS 2010, чтобы попытаться запустить приложение corflags на встроенном исполняемом файле.

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

Однако я получаю следующее сообщение:

corflags: ошибка CF001: не удалось открыть файл для записи

Я запускаю агент сборки TFS на своем локальном компьютере, потому что в данный момент я нахожусь в стадии тестирования, и когда я запускаю точно такую ​​же команду из командной строки, приложение corflags завершается без ошибок.

Любые идеи очень приветствуются.

2 ответа

Решение

Я не знаком с конкретной ситуацией, но некоторые общие идеи:

Кто работает с билдом? Имеет ли этот пользователь разрешения на выходной путь?

Еще одно соображение: завершена ли сборка до того, как она попытается выполнить вашу команду?

Попробуйте изменить команду на что-то очень простое, например, типа "OutputFile" - это та же проблема? Если так, то это проблема разрешения / времени. Если нет, то это конкретная команда - но, по крайней мере, мы сузим проблему.

Я также не знаю corflags, но он использует файл в рабочей области (файл, который загружается из системы контроля версий). По умолчанию для этого файла установлен флаг только для чтения.

Так что если вам нужен этот файл для записи:
1) либо извлеките файл, если вам нужен этот файл в вашем контроле версий, а затем снова проверьте его (tf checkout / tf checkin)
2) удалить файл из системы контроля версий, если файл создан приложением
3) уберите флаг readonly с помощью команды attrib.

Другие вопросы по тегам