Пустой .net проект только для копирования файлов в папку вывода?

У меня есть большой "продукт", который развертывается как набор zip файлов (разделенных на веб-приложения, веб-службы, базы данных, инструменты и т.д.).

В настоящее время я использую MSBuild для сбора файлов из VSS, сборки, zip и копирования в общий сетевой ресурс. Я перехожу к TFS, и в то время как каждый другой тип проекта строит отлично, я пытаюсь найти способ привести сценарии установки базы данных из источника управления и эффективно просто скопировать их в папку для перетаскивания в своей собственной папке (для zipping).

Я попытался создать файл решения с "пустым проектом С#" (с классом ************, чтобы избежать предупреждения "no source" ) со всеми сценариями и поддержкой файлов, помеченных как содержимое, и "Копировать всегда", но файлы просто не отображаются в папке с раскрывающимся списком. Файлы создаются локально точно так, как я хочу, но он не работает при построении через TFS.

Мне интересно, есть ли какие-либо другие способы делать то, что мне нужно, - мне ограниченный доступ к сценариям DB (они не конвертируются в MSI). Я искал всюду, о чем я могу думать, но нарисовал пробел!

TIA, Simes.

3 ответа

Спасибо, что посмотрели на это все, оказалось, что у файла csproj, который я использовал, были проблемы.

Я создал совершенно новый проект (библиотека С#) и просто добавил несколько файлов к нему - пометил их как Content и Always Copy, и они приземлились в папке с отбрасыванием.

Это немного быстро и грязно, но я добавлю событие post build для удаления ложной DLL, как только я уверен, что все это работает:)


Отметьте файл как ресурс и всегда установите его как копию.


Рассматривали ли вы для написания своего собственного проекта msbuild? Затем вы можете скопировать все файлы, соответствующие вашим критериям, в папку $(outdir).

Что-то в этом направлении должно помочь:

<project defaulttargets="CopySqlScripts">
 <target name="CopySqlScripts">
 <itemgroup>
 <sqlscripts include="$(MSBuildProjectDirectory)\*.sql">
 </sqlscripts></itemgroup>
 <copy sourcefiles="@(SqlScripts)" destinationfolder="$(OutDir)\SqlRelease">
 </copy></target>
</project>

licensed under cc by-sa 3.0 with attribution.