По поводу Win64
От: Блудов Павел Россия  
Дата: 27.12.06 12:46
Оценка:
Тут вот что происходит:
Студия 32-х битная, поэтому при компиляции в Nemerle.Tools.MSBuildTask попадают ссылки на системные сборки вида

/ref:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll

Они появляются как следствие включения этих библиотек в references проекта:

<Reference Include="System.Data"/>


Дальше начинается самое интересное. Поскольку компилятор полностью управляемый, то он запускается как нормальное 64-х разрядное приложение.
И не может загрузить C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll, т.к. эта сборка есть x86 only

Вот если взять коммандную строчку, передаваемую в компилятор и тупо заменить Microsoft.NET\Framework\v2.0.50727 на Microsoft.NET\Framework64\v2.0.50727, то всё замечательно работает.

Вопрос, как это можно забороть?
Как вариант, можно дёргать Nemerle.Compiler.dll прямо из студии, как это сделано в питоне. Но это плохая идея, т.к. внешний ncc.exe на 64-х разрядах будет быстрее работать, чем он же в 32-х разрядном WOW'е. И по OutOfMemoryException валится не будет
... << RSDN@Home 1.2.0 alpha rev. 642>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.