Как заставить Nant использовать компилятор 4.0 для таргетинга на .Net 3.5

Да, я знаю, это звучит немного безумно, но у меня есть .Net 3.5, развернутый в полевых условиях, и я хотел бы использовать новый компилятор 4.0 для его нацеливания.

В последних версиях Vb.Net и C # есть несколько новых синтаксических сахарных функций, которые я хотел бы использовать, но я не могу (пока) принудительно установить новую версию .Net framework и CLR на моей клиентской базе.

Прежде чем скептики вскочат обеими ногами ... Я только что успешно использовал Studio 2010 для компиляции целевого приложения 3.5, которое использовало автоматические свойства VB.Net (новая функция в VB.Net 10), поэтому я знаю, что компиляторы каким-то образом способны.

Итак, вернемся к моему вопросу .... Как мне убедить Nant использовать компилятор 4.0, но нацеливаться на .Net 3.5 (CLR 2.0)

Обновление: я использую задачи csc и vbc, а не задачу решения. хотя я бы согласился на ответ о том, как это сделать напрямую с компиляторами.


person Rory Becker    schedule 13.04.2010    source источник


Ответы (2)


Какую версию NAnt вы используете?

Напомню, что NAnt 0.85 не поставлялся с поддержкой .NET 3.5, вам нужно было добавить эту поддержку, отредактировав файл конфигурации NAnt. То же самое необходимо сделать для поддержки .NET 4 даже в текущем NAnt.

По этому поводу есть обсуждение, ссылка указывает на решение.

Кстати, команда NAnt работает над выпуском обновления .90 и надеется получить поддержку .NET 4 в версии 0.91.

person Grant Palin    schedule 24.04.2010

Команда NAnt только что выпустила NAnt 0.91 Alpha 1 с поддержкой .NET 4.0 (экспериментальная) . Пожалуйста, скачайте, чтобы протестировать и поделитесь своим мнением с командой.

Спасибо.

person Charles    schedule 30.05.2010
comment
Сейчас я использую nant 0.92. Чтобы сформулировать свою цель, я хочу использовать компилятор 4.0 для целевой версии 3.5 (т.е. 2.0 CLR вместо 4.0 CLR). Я пробовал использовать ‹property name = nant.settings.currentframework value = net-3.5 /›, но это говорит о том, что часть моего синтаксиса 4.0 недействительна. Я также пробовал использовать ‹property name = nant.settings.currentframework value = net-4.0 /›, который компилируется, но меня беспокоит, не удастся ли это сделать в продакшене, где будет только .Net 3.5. Как мне получить лучшее из обоих миров, предоставляемых IDE? - person Rory Becker; 14.02.2011
comment
Извините, я имел ввиду 0.91 alpha 2 :) - person Rory Becker; 14.02.2011
comment
Лучше всего задать свой вопрос напрямую в списках пользователей NAnt. nant.sourceforge.net/mailinglists.html - person Charles; 15.07.2011