Перемещение файла в MSBuild с использованием относительного пути

Я пытаюсь переместить все файлы определенного типа в каталог относительно самого файла, и мне интересно, возможно ли это с помощью MSBuild.

По сути, я использую Microsoft AJAX Minifier для минимизации всех файлов Javascript и CSS на моем сайте. Это выводит файлы .min.js и .min.css в тот же каталог, что и файлы Javascript и CSS. Поскольку на моем сайте множество скинов, файлы JS и CSS расположены во многих каталогах. Я хочу иметь возможность добавить задачу, которая запускается после AJAX Minifier, который перемещает все файлы .min.js и .min.css в / min / относительно местоположения файла. Итак, /Skin1/somescript.min.js переместится в /Skin1/min/somescript.min.js, а /Skin2/somescript.min.js переместится в /Skin2/somescript.min.js.

Единственный известный мне способ выполнить копирование / перемещение требует знания абсолютного каталога (или я должен сказать каталог относительно файла проекта), но я не могу найти способ перемещения на основе каталога относительно файла, который я переезжаю.

Можно ли это сделать?


person hackerhasid    schedule 26.08.2010    source источник


Ответы (1)


<CreateItem Include="wwwroot\**\*.min.js;wwwroot\**\*.min.css">
    <Output TaskParameter="Include" ItemName="FilesToMove" />
</CreateItem>

<Move SourceFiles="@(FilesToMove)" DestinationFiles="@(FilesToMove->'wwwroot\%(RecursiveDir)\min\%(Filename)%(Extension)')"/>

Предполагая, что вы используете задачу «Переместить» из задач сообщества MSBuild. В противном случае вы можете просто скопировать, а затем удалить оригиналы.

person Kent Boogaart    schedule 26.08.2010