Есть апликуха, которая должна прогонять sql-скрипты, которые хранятся в resource-файле. Есть идея, сделать финт, чтобы на pre-build event'е эти скрипты автоматом брались из специальной папочки и засовывались в ресурсы. Как такое лучше сделать? Или может подход порочный и нужно по-другому? Спасибо
Здравствуйте, vladpol, Вы писали:
V>Есть апликуха, которая должна прогонять sql-скрипты, которые хранятся в resource-файле. Есть идея, сделать финт, чтобы на pre-build event'е эти скрипты автоматом брались из специальной папочки и засовывались в ресурсы. Как такое лучше сделать? Или может подход порочный и нужно по-другому? Спасибо
Да нормальный подход.
Если конечно, скрипты не должны меняться отдельно от приложения.
Я бы прям всю папочку включил в солюшен, поставил файлам Build Action=Embedded resource и вычитывал их через
Assembly.GetManifestResourceNames() / Assembly.GetManifestResourceStream(name).
Тогда и файл ресурсов не нужен.
Здравствуйте, RushDevion, Вы писали:
RD>Здравствуйте, vladpol, Вы писали:
V>>Есть апликуха, которая должна прогонять sql-скрипты, которые хранятся в resource-файле. Есть идея, сделать финт, чтобы на pre-build event'е эти скрипты автоматом брались из специальной папочки и засовывались в ресурсы. Как такое лучше сделать? Или может подход порочный и нужно по-другому? Спасибо
RD>Да нормальный подход. RD>Если конечно, скрипты не должны меняться отдельно от приложения.
Набор скиптов все время будет расширяться, хотелось возложить это на билд машину без лишних телодвижений
Здравствуйте, vladpol, Вы писали:
V>Набор скиптов все время будет расширяться, хотелось возложить это на билд машину без лишних телодвижений
Тогда в файл проекта просто добавьте что-то типа
Здравствуйте, vladpol, Вы писали:
K>>Есть какая-то причина хранить файлы в ресурсах вообще?
V>чтобы передавать пользователю приложение 1м файлом. или я не прав
Здравствуйте, vladpol, Вы писали:
V>Есть апликуха, которая должна прогонять sql-скрипты, которые хранятся в resource-файле. Есть идея, сделать финт, чтобы на pre-build event'е эти скрипты автоматом брались из специальной папочки и засовывались в ресурсы. Как такое лучше сделать? Или может подход порочный и нужно по-другому? Спасибо
*.csproj — это просто набор инструкций для MSBuild и, соответственно, он может выполнять разные задания, только нужные расширения подключай. Вот что-то такое можно запихнуть в конец файла и оно будет работать.
...
<UsingTask TaskName="DoSomething" AssemblyFile="..." />
<Target Name="BeforeBuild" Condition="Exists('<путь к файлам, можно использовать переменные>')">
<DoSomething ... />
</Target>
</Project>
Здравствуйте, Kolesiki, Вы писали:
K>Здравствуйте, vladpol, Вы писали:
K>>>Есть какая-то причина хранить файлы в ресурсах вообще?
V>>чтобы передавать пользователю приложение 1м файлом. или я не прав
K>У вас отняли все архиваторы?!
Вот ведь фокус — иногда файловой системы может и не быть. Или есть, но сильно скрученные права, как в UWP. Или распространяется единый бандл с цифровой подписью, чтобы гарантировать неизменённость (а внутри сам бандл уже есть суть ZIP-архив, и его разворачиванием занимается операционка без участия юзера). В общем, диск Цэ уже давно не тот