Я пытаюсь переместить все файлы определенного типа в каталог относительно самого файла, и мне интересно, возможно ли использовать 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.
. Единственный способ, которым я Для выполнения копирования / перемещения требуется знание абсолютного каталога (или я должен сказать каталог относительно файла проекта), но я не могу найти способ перемещения на основе каталога относительно файла, который я перемещаю.
Можно ли это сделать?
<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. Если нет, вы можете просто скопировать, а затем удалить оригиналы.