Здравствуйте, gerrCrazzy, Вы писали:
C>Собственно если в свойствах проекта в конфигурации Release установить "Debug Symbols" равным true, то компилятор показывает окно ассерта.
Известная фигня. Поставь false.
В релизе используется хитрая магия которая почемуто не хочет работать вмести с "Debug Symbols".
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: [PEG] Ошибка компиляции в Release, DebugSymbols == true
Здравствуйте, gerrCrazzy, Вы писали:
C>Собственно если в свойствах проекта в конфигурации Release установить "Debug Symbols" равным true, то компилятор показывает окно ассерта.
А ворнинги не напрягли? Компилятор же предупреждает, что так делать не стоит.
Это ошибка в SRE. Пишите в Коннект (МС).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: [PEG] Ошибка компиляции в Release, DebugSymbols == tr
Здравствуйте, WolfHound, Вы писали:
WH>В релизе используется хитрая магия которая почемуто не хочет работать вмести с "Debug Symbols".
В релизе вообще мало чего работает с отладочными символами. Да и релиза не будет как такового. Оптимизации выключаются если отладочные символы включается. Причем поделать ничего нельзя, так как это SRE само добавляет отладочные атрибуты.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: [offtop] Ошибка компиляции в Release, DebugSymbols ==
Здравствуйте, gerrCrazzy, Вы писали:
C>Нет, не напрягли, скорее немного расстроили. А вот это окно напрягло: C>[]http://files.rsdn.ru/48744/assert.png[/img] C>Такое поведение консольного компилятора не очень ожидаемо. C>Если это баг SRE, было бы здорово, если бы warn N10010 был ошибкой.
Использовался компилятор собранный из исходников или установленный инсталлятором?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: [offtop] Ошибка компиляции в Release, DebugSymbols ==
Здравствуйте, VladD2, Вы писали:
VD>Использовался компилятор собранный из исходников или установленный инсталлятором?
да, последний (r9596). Точнее установленный инсталлятором, собранным из ревизии 9596 (но это ведь не имеет значения?).
В GAC нет сборок Nemerle.
Ситема win2008 r2 x64
Здравствуйте, gerrCrazzy, Вы писали:
C>Здравствуйте, VladD2, Вы писали:
VD>>Использовался компилятор собранный из исходников или установленный инсталлятором?
C>да, последний (r9596). Точнее установленный инсталлятором, собранным из ревизии 9596 (но это ведь не имеет значения?). C>В GAC нет сборок Nemerle. C>Ситема win2008 r2 x64
C>Командная строка: ncc @bfile.txt
C>bfile.txt:
H>Компилятор будет ругаться на совмещение выделенных опций
Так и речь о том, что компилятор неадекватно ругается — сначала ворнинг, потом окно, требующее действий пользователя.
Системы автодеплоймента будут рады такому развитию событий.
Re[7]: [offtop] Ошибка компиляции в Release, DebugSymbols ==
Здравствуйте, gerrCrazzy, Вы писали:
C>Так и речь о том, что компилятор неадекватно ругается — сначала ворнинг, потом окно, требующее действий пользователя. C>Системы автодеплоймента будут рады такому развитию событий.
Око требующее действий пользователя, это оставленный в коде assert2, его можно заменять на обычный assert, либо вообще выкинуть (в зависимости от ситуации).
/* иЗвиНите зА неРовнЫй поЧерК */
Re[8]: [offtop] Ошибка компиляции в Release, DebugSymbols ==
Здравствуйте, hardcase, Вы писали:
H>Око требующее действий пользователя, это оставленный в коде assert2, его можно заменять на обычный assert, либо вообще выкинуть (в зависимости от ситуации).
Вообще-то в релизе assert2 по идее не должен выдавать окон.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: [offtop] Ошибка компиляции в Release, DebugSymbols ==
Здравствуйте, hardcase, Вы писали:
H>Здравствуйте, VladD2, Вы писали:
VD>>Вообще-то в релизе assert2 по идее не должен выдавать окон.
H>Не должен, но он это делает: H>
H> /// Used System.Diagnostics.Debug.Assert() to display message
H> macro assert2 (cond, message = <[ "" ]>)
H> {
H> match (cond) {
H> | <[ false ]> => // skip cond in this case so it gets 'a type
H> <[ System.Diagnostics.Debug.Assert(false, ($message).ToString()) ]>
H> | _ => <[
H> unless ($cond)
H> {
H> def msg = "Assertion: " + $(cond.ToString() : string)
H> + "\nAt: " + $(cond.Location.File : string) + " failed.";
H> System.Diagnostics.Debug.Fail(msg, ($message).ToString())
H> } ]>
H> }
H> }
H>
Методы класса Debug не вызываются в релизе.
Re[11]: [offtop] Ошибка компиляции в Release, DebugSymbols =
Здравствуйте, Ziaw, Вы писали:
Z>Методы класса Debug не вызываются в релизе.
На самом деле этот баг известен давно (лень искать в трекере), я прямо сейчас смотрю можно ли что-то сделать.
В .NET-е этот атрибут используется широко и то, что компилятор его игнорирует не делает ему чести.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[12]: [offtop] Ошибка компиляции в Release, DebugSymbols =
Здравствуйте, hardcase, Вы писали:
H>Здравствуйте, Ziaw, Вы писали:
Z>>Методы класса Debug не вызываются в релизе.
H>Вызываются. Nemerle не контролирует наличие атрибута Conditional.