Использование Nemerle без инсталляции
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.05.11 21:17
Оценка: 20 (1)
#Имя: FAQ.nemerle.UseComilerWithoutIde
Всем привет.

Информация для тех кто хочет использовать Nemerle без инсталляции, но компилятор командной строки и даже сборку проектов и решений с помощью MSBuild вполне можно производить без инсталляции. Для этого вы должны скачать бинарники Nemerle.

Это можно сделать отсюда:
http://code.google.com/p/nemerle/downloads/list
NemerleBinaries-NET35-*.zip — бинарники для .Net 2-3.5
NemerleBinaries-NET40-*.zip — бинарники для .Net 4

Их надо развернуть в любую папку. Сразу после этого вы можете использовать компилятор командной строки.

Если вы хотите воспользоваться MSBuild-ом, то вам придется сделать кое что большее. Причем тут есть варианты.

MSBuild должен знать путь к бинарникам. Это осуществляется по средствам MSBuild-свойства Nemerle. Так как переменные окружения рассматриваются MSBuild-ом как свойства, вместо непосредственного задания свойств в проекте вы можете задать переменную среды окружения Nemerle:
set Nemerle=путь к бинарникам

После этого бинарники компилятора и Nemerle.MSBuild.targets (нужный для MSBuild) будут браться из этого каталога.

Так же можно просто скопировать бинарники в каталог:
%ProgramFiles%\Nemerle

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

Но что же делать, если вы не можете задавать переменные среды или перемещать код в системные каталоги?

Тогда остается только задать свойство Nemerle в проекте. Свойство Nemerle должно содержать полный путь. По этому, если вам нужно задать относительный путь (относительно проекта) для его задания лучше всего воспользоваться свойством MSBuildProjectDirectory. Это предопределенной в MSBuild свойство. Оно сдержит путь к каталогу проекта. Таким образом значение свойства Nemerle может выглядеть примерно так:
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  ...
  <Nemerle>$(MSBuildProjectDirectory)\..\Nemerle</Nemerle>

в этом примере подразумевается, что бинарники Nemerle находятся в подкаталоге Nemerle каталога внешнего по отношению к каталогу проекта.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.