Здравствуйте, Rival, Вы писали:
R>Нужно решить интересную задачу, возможно кто-то подскажет простое решение.
R>А) Есть проект папки которого, помимо включённых в проект файлов исходников, содержат другие .cs файлы, которые используются в смежных проектах. Нужно скопировать только включённые в проект файлы исходников в отдельную папку(с соблюдением или не соблюдением иерархии)
Например с помощью msbuild. Берем свой файл проекта и изменяем его (или переименовываем и изменяем его).
Добавляем таргет
после <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
.
Без сохранения иерархии:
<Target Name="Build">
<Copy SourceFiles="%(Compile.FullPath)" DestinationFolder="out" />
</Target>
С сохранением:
<Target Name="Build">
<Copy SourceFiles="%(Compile.FullPath)" DestinationFolder="out" />
</Target>
Запускаем MSBuild имя_файла_проекта.csproj. Ну и допиливаем до удовлетворяющего результата. Могут быть ссылки на файлы, могут быть ресурсы, могут быть None.
Здравствуйте, fddima, Вы писали:
Я опечатался:
С сохранением иерархии:
<Target Name="Build">
<Copy SourceFiles="%(Compile.FullPath)" DestinationFiles="out/%(Compile.Identity)" />
</Target>
MSBuild Well-known Item Metadata
Нужно решить интересную задачу, возможно кто-то подскажет простое решение.
А) Есть проект папки которого, помимо включённых в проект файлов исходников, содержат другие .cs файлы, которые используются в смежных проектах. Нужно скопировать только включённые в проект файлы исходников в отдельную папку(с соблюдением или не соблюдением иерархии)
Б) Заодно ещё хотелось бы решить дополнительную задачу: при экспорте исходного файла убирать ненужный код в неиспользуемых макрах препроцессора #if.
Могу решить это, скажем, использовав Roslyn, но интересуют более простые готовые решения.
Ручной экспорт не подходит, ибо это необходимо будет делать много раз.
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден