Перемещение файла в 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.

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

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

6
задан hackerhasid 26 August 2010 в 16:56
поделиться

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. Если нет, вы можете просто скопировать, а затем удалить оригиналы.

12
ответ дан 8 December 2019 в 20:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: