MSBUILD - блокировать, пока файл не существует на FTP-сервере? - PullRequest
0 голосов
/ 22 сентября 2011

Как часть процесса сборки. Я хотел бы заблокировать сборку, пока файл не будет создан (существует) удаленно в месте ftp, после чего я продолжу сборку. (Желательно с некоторым ограничением по времени).

Предложения

Возможно ли это, используя только стандартную задачу msbuild и / или extensionPack / communitytask?

1 Ответ

1 голос
/ 22 сентября 2011

Лучше всего создать небольшой пользовательский исполняемый файл (вы даже можете скомпилировать его как этап сборки), который опрашивает искомый файл.Затем вы используете цель PreBuild или пользовательскую цель на этапе предварительной сборки, чтобы убедиться, что файл существует.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="WaitOnFTP">
        <Exec Command="MyFTPWaiter.exe"/>
    </Target>
</Project>

Другие, более ориентированные на MSBuild предложения - переделать этот exe-файл как пользовательскую задачу или дажевстроенная задача в MSBuild 4.0.

FWIW, я столкнулся с аналогичным решением, выполненным партнером, который не хотел, чтобы большие двоичные файлы использовались интеграционными тестами в управлении версиями, и ему требовалось использовать пользовательский загрузчик всборка для получения файлов из общего ресурса SMB.Это работало достаточно хорошо.

Пользовательские задачи

Встроенные задачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...