Пытался я собрать Nemerle на голой win 10 + VS 2015 — не вышло. Пришлось ставить VS 2010. Тогда вроде собралось, но солюшен так и не открылся, см. https://github.com/rsdn/nemerle/issues/13307
В общем, хотелось бы:
* Отказаться от поддержки целевой студии старее 2013.
* Отказаться от поддержки сборки в студии старее 2013.
* Target framework 4.5
* Перейти на VS 2013 SDK.
Спрашиваю здесь (вместо того, чтобы пойти да сделать PR) потому что нет уверенности, что данные изменения будут одобрены всеми.
Здравствуйте, vaskir, Вы писали:
V>Пытался я собрать Nemerle на голой win 10 + VS 2015 — не вышло. Пришлось ставить VS 2010. Тогда вроде собралось, но солюшен так и не открылся, см. https://github.com/rsdn/nemerle/issues/13307
Здравствуйте, pekabon, Вы писали:
V>>Пытался я собрать Nemerle на голой win 10 + VS 2015 — не вышло. Пришлось ставить VS 2010. Тогда вроде собралось, но солюшен так и не открылся, см. https://github.com/rsdn/nemerle/issues/13307
P>.net 4.0 нужен (для поддержки WinXP)
Да, скорее всего проблемы из-за этого.
Причем после установки четвертого фреймворка нужно будет восстановить 4.6-й, так как установщик перепишет путь установки на свои каталоги (это иделогический баг Майкрософта).
Как вариант, можно просто переписать имеющийся каталог от 4.6-го дотнета в каталог указываемый в сообщении.
Еще один вариант — задать значение переменной окружения SDKBin указав в ней путь к каталогу с утилитами входящими VS SDK.
ЗЫ
Если кому-то интересно, источник проблем вот в этих строках файла:
<SDKBin Condition="'$(SDKBin)' == '' And ('$(TargetFrameworkVersion)' == '' Or '$(TargetFrameworkVersion)' == 'v2.0' Or '$(TargetFrameworkVersion)' == 'v3.0' Or '$(TargetFrameworkVersion)' == 'v3.5')">$(SDK)\bin</SDKBin>
<SDKBin Condition="'$(SDKBin)' == '' And ('$(TargetFrameworkVersion)' == 'v4.0' Or '$(TargetFrameworkVersion)' == 'v4.5' Or '$(TargetFrameworkVersion)' == 'v4.5.1')">$(SDK_3)\bin\NETFX 4.0 Tools</SDKBin>
Видимо при сочетании свежей Windows 10 и VS2015 каталога "bin\NETFX 4.0 Tools" нет.
К сожалению, машины с чистой Windows 10 и VS2015 под рукой нет, чтобы проверить.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, vaskir, Вы писали:
V>В общем, хотелось бы:
V>* Отказаться от поддержки целевой студии старее 2013. V>* Отказаться от поддержки сборки в студии старее 2013. V>* Target framework 4.5 V>* Перейти на VS 2013 SDK.
Это все есть. Проблема в том, что в Windows 10 при установке VS2015 .Net SDK ставится в каталог отличный от того что использовался раньше.
Я подправил билд-сктипт. По идее теперь должно собраться корректно.
Попробуй, плиз, и отпиши сюда что получилось.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VD>Я подправил билд-сктипт. По идее теперь должно собраться корректно. VD>Попробуй, плиз, и отпиши сюда что получилось.
1. Установлен последний инсталлер с сайта.
2. DevBuildQuick-VS2015.cmd отработал без ошибок.
3. При открытии/билде любого nemerle проекта получаем
C:\Program Files (x86)\Nemerle\Net-4.0\Nemerle.MSBuild.targets(289,5):
error : Could not load file or assembly 'Nemerle, Version=1.2.0.486, Culture=neutral, PublicKeyToken=e080a9c724e2bfcd' or one of its dependencies.
The system cannot find the file specified.
Вообще по идее должно быть так: правим код nemerle (компайлер, интеграция), запускаем DevBuildQuick-VS2015.cmd, запускаем студию — всё обновилось. Так?
Здравствуйте, vaskir, Вы писали:
V>1. Установлен последний инсталлер с сайта.
Вот это делать, при сборке немерла с исходников, ни в коем случае не надо.
Сделай "репэйр", а потом деинсталлируй его.
V>
V>C:\Program Files (x86)\Nemerle\Net-4.0\Nemerle.MSBuild.targets(289,5):
V>error : Could not load file or assembly 'Nemerle, Version=1.2.0.486, Culture=neutral, PublicKeyToken=e080a9c724e2bfcd' or one of its dependencies.
V>The system cannot find the file specified.
V>
Довольно естественно. Можно или инсталлировать немерл, или собирать из исходников.
Еще одна проблема заключается в том, что при сборке интеграция не денисталлируется. Так что перед сборкой нужно зайти в "Tools\Extensions and Updates..." и деинсталлировать Nemerle.
V>Вообще по идее должно быть так: правим код nemerle (компайлер, интеграция), запускаем DevBuildQuick-VS2015.cmd, запускаем студию — всё обновилось. Так?
Примерно, за исключением того, что деинсталляцию иетеграции нужно делать и не нужно перед этим устанавливать немерл через msi.
Как наладить автоматическую деинсталляцию немерловой интеграции не ясно. Там Хардкейс что-то нахимичил (в свое время). Раньше игтеграция ставилась средствами VS SDK, но мы от этой зависимости избавились плюс там были какие-то проблемы. Но вот с тех пор надо удалять интеграцию вручную.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VD>Довольно естественно. Можно или инсталлировать немерл, или собирать из исходников.
VD>Еще одна проблема заключается в том, что при сборке интеграция не денисталлируется. Так что перед сборкой нужно зайти в "Tools\Extensions and Updates..." и деинсталлировать Nemerle.
Деинсталлировал из windows, деинсталлировал из студии. Прогнал DevBuildQuick-VS2015.cmd — то же самое: