Здравствуйте, gloomy rocker, Вы писали:
VD>>Мы уже пользуемся услугами утилиты junction.exe. Наверно, имеет смысл вместо копирования создавать с ее помощью ссылки на файлы. GR>ИМХО разницы никакой. Но в принципе можно, когда скрипт будет отлажен и останется только причесать его.
Разница есть когда речь идет о девелоперских сборках. Этот файл переодически меняется и очень легко поменять не ту версию и забыть ее скопировать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, gloomy rocker, Вы писали:
VD>>>Пути решения проблемы видятся следующие: VD>>>1. Использовать не задачу MSBuild, а задачу Exec в которой уже вызвать MSBuild.exe. Тогда он будет в отдельном процессе и проблема должна исчезнуть. VD>>>2. Подправить Nemerle.MSBuild.Tasks.dll так чтобы она могла получать путь к NCC.exe в качестве одного из свойств. VD>>>3. К едрене фене переписать Nemerle.MSBuild.Tasks.dll на C#, чтобы он больше не доставал. Он уже давно проблемы создает. GR>>Если нет возражений, я остановлюсь на первом варианте. Минус будет только один — цели, предупреждения и ошибки не будут подсвечиваться соответствующими цветами.
VD>Ну, вот как раз против бесцветия возражения есть. Привык я к цветам . Так что двай как для начала попробуем вариант 2. Там делов то на 5 минут.
Согласен. Отказываться от удобств не хочется.
VD>>>А вообще, изначально нужно было писать Nemerle.MSBuild.Tasks.dll на шарпе. Тогда всех этих проблем с зависимостями попросту не было бы. GR>>У меня, если честно, времени на это сейчас нет. Если найдутся энтузиасты и сделают это, я потом могу доработать скрипт.
VD>Ну, переписать все на шарпе действительно задача не на 5 минут, а вот добавить свойство в NCC-задачу можно очень быстро. Ща добавлю...
Давай. Попробую вариант с указанием, где брать NCC.exe
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, gloomy rocker, Вы писали:
GR>>А не затрется ли в таком случае значение переменной $(Nemerle), переданное извне? У меня сильное предчувствие, что затрется, и невозможно будет указать, каким компилятором собирать проект.
VD>Конечно затрется. Но, как я понимаю, только в рамках текущего проекта. VD>И в нем оно уже будет не интересно. Ведь ведется сборка конкретной конфигурации. Если кому-то оно нужно, то можно создать еще одно свойство, например NemerleOldValue и сохранить старое значение свойства в нем.
Не все так просто. Переменная $(Nemerle) используется в Nemerle.MSBuild.targets
и еще она потребуется для задания, где искать ncc.exe.
Это означает, что по крайней мере до импорта Nemerle.MSBuild.targets ее затирать нельзя.
GR>>Я имел в виду, что собрался компилятор. Дальше я пока не продвинулся. GR>>...До инсталлятора пока дело не дошло. См. выше.
VD>Ясно. Жаль. Ну, да может все же дойдут.
Инсталлятор уже собирается, но еще глючит.
GR>>Раньше сборка компилятора запускалась в отдельном процессе с помощью задачи Exec. При этом вывод на консоль цветом не выделялся, как выделялся бы при использовании задачи MSBuild. MSBuild у меня раньше не получалось использовать, т.к. с одними и теми же параметрами его можно выполнить только один раз.
VD>Понял, то есть цвет зависит от того используется ли задача MSBuild или Exec. VD>Ну, значит надо решать вопрос с Nemerle.MSBuild.Tasks.dll.
Именно так.
VD>>>Так что заливай изменения. В крайнем случае, будем разбираться по месту. GR>>Для этого нужен доступ к SVN. Мой gmail: gordynych@gmail.com
VD>Добавил.
Ок.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, gloomy rocker, Вы писали:
GR>>Полученный инсталлятор глючит.
VD>Это как раз то сообщение о том что "languageService == null"?
Оно самое.
Здравствуйте, gloomy rocker, Вы писали:
GR>>>Полученный инсталлятор глючит.
VD>>Это как раз то сообщение о том что "languageService == null"? GR>Оно самое.
У меня такое сообщение появлялось при отсутствии в "\Program Files\Nemerle" файла WpfHint.dll
Здравствуйте, gloomy rocker, Вы писали:
VD>>Конечно затрется. Но, как я понимаю, только в рамках текущего проекта. VD>>И в нем оно уже будет не интересно. Ведь ведется сборка конкретной конфигурации. Если кому-то оно нужно, то можно создать еще одно свойство, например NemerleOldValue и сохранить старое значение свойства в нем. GR>Не все так просто. Переменная $(Nemerle) используется в Nemerle.MSBuild.targets GR>
Здравствуйте, VladD2, Вы писали:
VD>Добавил. Свойство называется CompilerPath. Я уже установил его в значение из $(Nemerle) в Nemerle.MSBuild.targets: VD>