формирование ресурсов на pre-build
От: vladpol Украина http://vlad-mislitel.livejournal.com/
Дата: 24.04.18 13:51
Оценка:
Есть апликуха, которая должна прогонять sql-скрипты, которые хранятся в resource-файле. Есть идея, сделать финт, чтобы на pre-build event'е эти скрипты автоматом брались из специальной папочки и засовывались в ресурсы. Как такое лучше сделать? Или может подход порочный и нужно по-другому? Спасибо
С уважением, Владислав Полищук
pre-build
Re: формирование ресурсов на pre-build
От: Kolesiki  
Дата: 24.04.18 15:37
Оценка:
Здравствуйте, vladpol, Вы писали:

V>Есть апликуха, которая должна прогонять sql-скрипты, которые хранятся в resource-файле.


Есть какая-то причина хранить файлы в ресурсах вообще?
Re: формирование ресурсов на pre-build
От: RushDevion Россия  
Дата: 24.04.18 15:37
Оценка: +1
Здравствуйте, vladpol, Вы писали:

V>Есть апликуха, которая должна прогонять sql-скрипты, которые хранятся в resource-файле. Есть идея, сделать финт, чтобы на pre-build event'е эти скрипты автоматом брались из специальной папочки и засовывались в ресурсы. Как такое лучше сделать? Или может подход порочный и нужно по-другому? Спасибо


Да нормальный подход.
Если конечно, скрипты не должны меняться отдельно от приложения.
Я бы прям всю папочку включил в солюшен, поставил файлам Build Action=Embedded resource и вычитывал их через
Assembly.GetManifestResourceNames() / Assembly.GetManifestResourceStream(name).
Тогда и файл ресурсов не нужен.
Re[2]: формирование ресурсов на pre-build
От: vladpol Украина http://vlad-mislitel.livejournal.com/
Дата: 24.04.18 16:03
Оценка: +1
Здравствуйте, Kolesiki, Вы писали:

K>Есть какая-то причина хранить файлы в ресурсах вообще?


чтобы передавать пользователю приложение 1м файлом. или я не прав
С уважением, Владислав Полищук
Re[2]: формирование ресурсов на pre-build
От: vladpol Украина http://vlad-mislitel.livejournal.com/
Дата: 24.04.18 16:21
Оценка:
Здравствуйте, RushDevion, Вы писали:

RD>Здравствуйте, vladpol, Вы писали:


V>>Есть апликуха, которая должна прогонять sql-скрипты, которые хранятся в resource-файле. Есть идея, сделать финт, чтобы на pre-build event'е эти скрипты автоматом брались из специальной папочки и засовывались в ресурсы. Как такое лучше сделать? Или может подход порочный и нужно по-другому? Спасибо


RD>Да нормальный подход.

RD>Если конечно, скрипты не должны меняться отдельно от приложения.

Набор скиптов все время будет расширяться, хотелось возложить это на билд машину без лишних телодвижений
С уважением, Владислав Полищук
Re[3]: формирование ресурсов на pre-build
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 25.04.18 07:44
Оценка: 76 (4) +1
Здравствуйте, vladpol, Вы писали:

V>Набор скиптов все время будет расширяться, хотелось возложить это на билд машину без лишних телодвижений

Тогда в файл проекта просто добавьте что-то типа
  <ItemGroup>
    <EmbeddedResource Include=".\Embedded\*.*" />
  </ItemGroup>


Или, если хотите еще и подпапки на произвольную глубину, то:
  <ItemGroup>
    <EmbeddedResource Include=".\Embedded\**\*.*" />
  </ItemGroup>
Re[3]: формирование ресурсов на pre-build
От: Kolesiki  
Дата: 25.04.18 11:32
Оценка:
Здравствуйте, vladpol, Вы писали:

K>>Есть какая-то причина хранить файлы в ресурсах вообще?


V>чтобы передавать пользователю приложение 1м файлом. или я не прав


У вас отняли все архиваторы?!
Re: формирование ресурсов на pre-build
От: Vladek Россия Github
Дата: 27.04.18 13:52
Оценка:
Здравствуйте, vladpol, Вы писали:

V>Есть апликуха, которая должна прогонять sql-скрипты, которые хранятся в resource-файле. Есть идея, сделать финт, чтобы на pre-build event'е эти скрипты автоматом брались из специальной папочки и засовывались в ресурсы. Как такое лучше сделать? Или может подход порочный и нужно по-другому? Спасибо


*.csproj — это просто набор инструкций для MSBuild и, соответственно, он может выполнять разные задания, только нужные расширения подключай. Вот что-то такое можно запихнуть в конец файла и оно будет работать.

...
  <UsingTask TaskName="DoSomething" AssemblyFile="..." />
  <Target Name="BeforeBuild" Condition="Exists('<путь к файлам, можно использовать переменные>')">
    <DoSomething ... />
  </Target>
</Project>
Re[4]: формирование ресурсов на pre-build
От: Mr.Delphist  
Дата: 28.04.18 14:31
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Здравствуйте, vladpol, Вы писали:


K>>>Есть какая-то причина хранить файлы в ресурсах вообще?


V>>чтобы передавать пользователю приложение 1м файлом. или я не прав


K>У вас отняли все архиваторы?!


Вот ведь фокус — иногда файловой системы может и не быть. Или есть, но сильно скрученные права, как в UWP. Или распространяется единый бандл с цифровой подписью, чтобы гарантировать неизменённость (а внутри сам бандл уже есть суть ZIP-архив, и его разворачиванием занимается операционка без участия юзера). В общем, диск Цэ уже давно не тот
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.