Как бы я приступил к компиляции IronPython для использования в проекте .NET 3.5?

#.net-3.5 #ironpython

#.net-3.5 #ironpython

Вопрос:

На веб-сайте указано, что он предназначен для .NET 4.0, но я мог бы скомпилировать его для использования с 3.5, однако, насколько я могу судить, это ВСЕ, что говорится по теме.

Какие файлы мне нужны? Какие-либо уникальные настройки? Компилировать ли мне его в Visual Studio? Спасибо..

Я скачал отсюда https://github.com/IronLanguages/main

Ответ №1:

Раньше работал в команде IronPython в Microsoft, но я знаю, что со времен 2.7 Alpha 1 многое изменилось…

Я предлагаю придерживаться .NET 4.0, если только на машинах, которые вы развертываете, действительно не может быть установлен 4.0 (например, не хватает прав администратора для выполнения .СЕТЕВАЯ установка). Чтобы попытаться сделать действительно длинную историю короткой, были добавлены внутренности IronPython и IronRuby, среды выполнения динамического языка .NET с версией 4.0. Что это означает для IronPython 2.6 / 2.7, так это то, что он работает быстрее на .NET 4.0 по сравнению с .NET 3.5/3.0/2.0. Есть и другие веские причины использовать сборки на базе .NET 4.0, но эта самая убедительная.

Если вы просто заинтересованы в компиляции IronPython 2.7 и у вас не установлена Visual Studio 2010 … на самом деле это не проблема. Установите полную версию .NET 4.0 на свой компьютер и используйте версию msbuild, которая поставляется вместе с ней. Путь должен быть примерно таким C:WindowsMicrosoft.NETFrameworkv4.0.30319msbuild

Наконец, если вы действительно должны выполнять сборку на .NET 3.5, раньше существовало что-то вроде флага «/version: 3.5», который вы могли бы передать msbuild при компиляции IronPython.sln. Все так сильно изменилось с тех пор, как проект ушел из рук Microsoft, что я действительно понятия не имею, работает ли это все еще. Хотя это, скорее всего, сработает с последней версией 2.6 — см. http://ironpython.codeplex.com/releases/view/41236. Флагом для этого может быть «/ version: 2.0»?

Ответ №2:

Если это возможно, вы бы просто загрузили решение IronPython, изменили целевую платформу на 3.5 и скомпилировали библиотеку. Конечно, я серьезно сомневаюсь, что это сработает.

Комментарии:

1. В исходном файле IronPython не было решения для загрузки .zip 🙁

2. Итак, создайте свое собственное решение и скомпилируйте файлы кода, как в любом другом проекте? Я не буду комментировать этот факт, если вы даже задаете этот вопрос, вы не имеете права этим заниматься.

3. @Ramhound да, я проверил это сейчас, к сожалению, у меня есть только Visual Studio 2008… и, конечно, у меня есть бизнес, занимающийся этим, как еще вы можете чему-то научиться, кроме как делать это, а?

4. Поэтому измените решение, чтобы оно работало с 2008, максимум на 4-5 строк. Если вы должны создавать решения самостоятельно, опять же простая задача, помимо того факта, что я не вижу причин, по которым вы не можете ссылаться на библиотеку dll 4.0 в Visual Studio 2008 (при условии, что установлена платформа 4.0 framework)

5. @Ramhound Я просто пытаюсь использовать его в проекте .NET 3.5, из-за чего и возникает конфликт