Pergunta

Como posso saber NAnt para usar o mesmo compilador VB VS2008 usos quando ele cria .NET 2.0 de metas de aplicações?

Eu mudei uma aplicação web para VS2008 back-direcionados para .NET 2.0. Eu posso correr NAnt (0.85rc4, 0,85, e 0.86b1) muito bem uma vez que eu fazer isso. Quando tento usar algum da sintaxe VB9, que ainda compila apenas multa de volta para um binário .NET 2.0 no VS2008, NAnt recebe o tipo de erro de compilação que você obteria se você tentou fazer a nova sintaxe no VS2005 (onde ele não era 't suportado).

Em caso de ajuda, aqui é uma versão simplificada do que estou tentando, apenas um delegado anônimo simples que funciona muito bem até que eu tente usar NAnt para construir o aplicativo em vez de VS2008 2.0.

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

EDIT: A menos que alguém pode pensar em uma razão para não, a configuração atual no meu arquivo de construção é isso (desde que eu na verdade quero um aplicativo .NET 2.0, apenas um gerado por um mais robusto compilador VB):

<property name="nant.settings.currentframework" value="net-2.0"/>
Foi útil?

Solução 2

eu estava sendo um pouco a literal em minhas expectativas de NAnt. Desde que eu estava usando NAntContrib para executar msbuild sobre os projetos, eu queria que o quadro net-3.5 para NAnt. MSBuild e o arquivo de projeto cuidar do back-alvo do projeto para .NET 2.0. Eu era capaz de levar o meu delegado VB anônima, compilá-lo para 3,5 e soltar o direito DLL gerado em uma máquina com apenas .NET 2.0 e funcionou muito bem.

Basta definir o projeto para compilar para .NET 2.0: Propriedades do projeto -> Compile [Tab] -> Advanced Compile Options ... -> quadro Target (todas as configurações): .NET Framework 2.0

... e dizer NAnt para assumir cegamente net-3.5:

<property name="nant.settings.currentframework" value="net-3.5"/>
scroll top