Nemerle 1.x на .Net 4.0 и VS 2010
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.06.11 14:59
Оценка:
Всем привет.

Nemerle 1.x на .Net 4.0 и VS 2010 работает более менее стабильно (если не считать небольших проблем с подсветкой кода), так что в ближайшее время (в течении недели-двух) я хотел бы выложить бету.

Но тут есть одна серьезная проблема которую надо решить.

На сегодня Nemerle для .Net 4.0 и Nemerle для .Net 2-3.5 претендуют на один и тот же каталог и одру и ту же переменную среды окружения (и именем Nemerle). Это, конечно же, не хорошо.

Надо как-то разнести эти версии по разным каталогам или изменить имена сборок (второе мне не очень нравится).
Но, при этом, хотелось бы сделать так чтобы старые проекты могли бы открываться VS 2010 без изменений или чтобы эти изменения делались бы самой студией.

Предлагаю подумать над тем как лучше сделать подобную миграцию.

В двух словах опишу текущий принцип работы проектов. В начале каждого файла проекта есть строчка:
    <Nemerle Condition=" '$(Nemerle)' == '' ">$(ProgramFiles)\Nemerle</Nemerle>

которая означает, что если не определено свойство Nemerle, то ему присваивается путь к каталогу %ProgramFiles%\Nemerle.

Свойства MSBuild-проектов (к которым относятся проекты VS) могут быть переданы в качестве параметра. Если это не так, то MSBuild пытается найти одноименную переменную среды окружения и использовать ее значения в качестве значения свойства.

Этот механизм не плохо работает для указания местоположения бинарных файлов Nemerle, но не ясно как его заточить на поддержку разных версий Nemerle.

Если у кого-то есть идеи как не изменяя старых файлов заставить проекты компилироваться под .net 4.0 — просьба их высказывать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.