Как я могу сказать NAnt использовать тот же VB-компилятор, который использует VS2008 при создании приложений для .NET 2.0?
Я переключил веб-приложение на VS2008 с обратным таргетингом на .NET 2.0. Я могу нормально запустить NAnt (0.85rc4, 0.85 и 0.86b1), как только я это сделаю. Когда я пытаюсь использовать некоторый синтаксис VB9, который все еще прекрасно компилируется обратно в двоичный файл .NET 2.0 в VS2008, NAnt получает вид ошибки компиляции, которую вы получите, если попытаетесь выполнить новый синтаксис в VS2005 (где это было не поддерживается).
Если это поможет, вот упрощенная версия того, что я пытаюсь сделать, просто простой анонимный делегат, который прекрасно работает, пока я не попытаюсь использовать NAnt для создания приложения 2.0 вместо VS2008.
Public Class SomeObject
Public Name As String
End Class
Private SomeList As List(Of SomeObject) = SomeObject.GetAllSomeObjects()
Public Function FindFirstItemWithSimilarName(ByVal x As String) As SomeObject
Return SomeList.Find(Function(p As SomeObject) p.Name.Contains(x))
End Function
РЕДАКТИРОВАТЬ: Если кто-то не может придумать причину, чтобы не делать этого, текущая настройка в моем файле сборки такова (поскольку я действительно хочу приложение .NET 2.0, только одно, сгенерированное более надежным VB компилятор):
<property name="nant.settings.currentframework" value="net-2.0"/>