Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Разобрать строку / 17 сообщений из 17, страница 1 из 1
03.09.2014, 17:54
    #38736679
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
Как в шарпе красиво выбрать из строки версию?
То есть из

Код: c#
1.
[assembly: AssemblyVersion("3.1.98.27382")]




получить

3.1.98.27382
...
Рейтинг: 0 / 0
03.09.2014, 18:03
    #38736692
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
если за пределами кавычек всё фиксировано, то самый простой и тупой вариант
Код: c#
1.
string ver = str.Substring(28, s1.Length - 31);



иначе регексомъ.
...
Рейтинг: 0 / 0
03.09.2014, 18:07
    #38736697
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
Яростный Мечесли за пределами кавычек всё фиксировано, то самый простой и тупой вариант
Код: c#
1.
string ver = str.Substring(28, s1.Length - 31);



иначе регексомъ.

да, наверное в лоб от кавычки до кавычки
...
Рейтинг: 0 / 0
03.09.2014, 18:07
    #38736698
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
Что за задача?
...
Рейтинг: 0 / 0
03.09.2014, 18:30
    #38736721
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
WinnipuhЯростный Мечесли за пределами кавычек всё фиксировано, то самый простой и тупой вариант
Код: c#
1.
string ver = str.Substring(28, s1.Length - 31);



иначе регексомъ.

да, наверное в лоб от кавычки до кавычки

..ну, Split() по кавычкам ...
...
Рейтинг: 0 / 0
03.09.2014, 18:44
    #38736733
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
МСУЧто за задача?

Задача вообще из другого мира, короче так:

Есть VS2010 solution, в нем 3 прожекта: 2 инсталлятора и один шарповый CustomActions assembly.

В инсталляторах захардкодирована версия продукта, типа такого:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<?define InstallVersion="2.5.4"?>

 <Product Id="*"
           Name="$(var.BaseProductNameUI)"
           Language="1033"
           Version="$(var.InstallVersion)"
           Manufacturer="Company Ltd"
           UpgradeCode="$(var.ProductUpgradeCode)">



Но это неудобно, некрасиво и надо не забыть изменяить и т.д.. короче - фигня

Вот я подумал: как пробить значение переменной Version во воремя построения версией ассембли?

То ли сделать какую-то приблудку, которая будет читать внешний файл в котором есть такая строка и менять файл перед построением инсталлятора..
То ли попробовать установить в WiX файле переменную в версию ассембли, но не вижу как это сделать пока...

Ну, вот, а начал с разбора строки, для затравки обсуждения ;-)
...
Рейтинг: 0 / 0
03.09.2014, 18:47
    #38736736
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
Можно с вами поржать?
Код: c#
1.
Console.Write(String.Concat("[assembly: AssemblyVersion(\"3.1.98.27382\")]".ToCharArray().Where(a => a == '.' || char.IsNumber(a))));
...
Рейтинг: 0 / 0
03.09.2014, 18:50
    #38736740
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
WinnipuhВот я подумал: как пробить значение переменной Version во воремя построения версией ассембли?
У меня нет слов. Занавес!
...
Рейтинг: 0 / 0
03.09.2014, 18:55
    #38736746
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
МСУ,
авторВот я подумал: как пробить значение переменной Version во воремя построения версией ассембли?
у меня всегда Winnipuh и его посты ассоциировались с ежиком в тумане, ( такой с узелочком топ - топ) ))
...
Рейтинг: 0 / 0
03.09.2014, 19:15
    #38736758
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
МСУWinnipuhВот я подумал: как пробить значение переменной Version во воремя построения версией ассембли?
У меня нет слов. Занавес!

А легких задач никто и не обещал
...
Рейтинг: 0 / 0
03.09.2014, 19:16
    #38736761
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
Где-то в степиМСУ,
авторВот я подумал: как пробить значение переменной Version во воремя построения версией ассембли?
у меня всегда Winnipuh и его посты ассоциировались с ежиком в тумане, ( такой с узелочком топ - топ) ))

так вот самое примечательно, что многие дикие идеи были воплощены, не без помощи уважаемого сообщества.
;-)
...
Рейтинг: 0 / 0
03.09.2014, 21:19
    #38736832
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
Гуглится же на раз: "using assembly version in wix".
...
Рейтинг: 0 / 0
04.09.2014, 07:42
    #38737020
LameUser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
WinnipuhКак в шарпе красиво выбрать из строки версию?
То есть из

Код: c#
1.
[assembly: AssemblyVersion("3.1.98.27382")]




получить

3.1.98.27382

Код: c#
1.
Assembly.GetEntryAssembly().GetName().Version

?
...
Рейтинг: 0 / 0
04.09.2014, 11:05
    #38737218
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
skyANAГуглится же на раз: "using assembly version in wix".

спасибо!!!
даже подумать не мог, что так просто, ушел тестировать
...
Рейтинг: 0 / 0
04.09.2014, 14:00
    #38737523
Нахлобуч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
WinnipuhНо это неудобно, некрасиво и надо не забыть изменяить и т.д.. короче - фигня
Можно же candle.exe вызвать с параметром а-ля "-dVersion=2.12.53". А уже саму версию брать из тегов VCS или еще как.
...
Рейтинг: 0 / 0
04.09.2014, 16:10
    #38737740
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
НахлобучWinnipuhНо это неудобно, некрасиво и надо не забыть изменяить и т.д.. короче - фигня
Можно же candle.exe вызвать с параметром а-ля "-dVersion=2.12.53". А уже саму версию брать из тегов VCS или еще как.

да, можно прямо так, или в WiX даже есть возможность выдергивать FileVersion из файлов, красота, но нарвался на такую фигню:

вытащенная версия из ассембли 11.12345.601.12 не подходит WiX, исправил руками для эксперимента на 11.255.601.12 - сработал...
писец
...
Рейтинг: 0 / 0
11.09.2014, 15:40
    #38744356
Belobrodsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разобрать строку
Winnipuh,
Код: c#
1.
2.
3.
string str = "[assembly: AssemblyVersion(\"3.1.98.27382\")]";

            Console.WriteLine(str.Split('"')[1]);
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Разобрать строку / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]