2008-08-17 9 views
2

Ich habe die Entwicklung einer Webanwendung übernommen, die auf das .net 1.0 Framework ausgerichtet ist und in C# und Visual Basic geschrieben ist.Wie erstelle ich eine automatische Build-Datei für VB.Net in NAnt?

Ich entschied, dass das erste, was wir tun müssen, ist den Build-Prozess zu verfeinern, ich schrieb Build-Dateien für die C# -Projekte, aber habe Tonnen von Problemen beim Erstellen einer Build-Datei für Visual Basic.

Zugegebenermaßen kenne ich VB nicht persönlich, aber es scheint, als müsste ich alle Importe und Referenzen in meiner Build-Datei fest codieren, um alles zur Arbeit zu bringen ... sicherlich nicht der beste Weg, Dinge zu tun ...

für jedes Beispiel: wenn ich ich zB mehrere Fehler gemeinsamer Unkown Typen nicht bekommen, die Namespace-System in der Build-Datei enthalten wird: Guid

hat typischerweise NAnt dieser Code für VB benötigen oder funktioniert die VB-Code Brauchen Sie ein mögliches Umdenken?

Hat jemand VB NAnt Tipps?

Antwort

1

Ich bin mir nicht sicher, ob Sie über VB oder VB.Net sprechen.
So oder so, siehe Nant Contrib. Vielleicht haben sie eine Lösung.

1

Rufen Sie zum Erstellen von Msbuild auf? Oder rufst du die VS.NET IDE exe auf um zu bauen. Wir hatten keine Probleme mit unserem C#/VB.NET-Mix mit CC.NET und NAnt und müssen keine referenzierten Assemblies innerhalb der Build-Dateien angeben.

Wir verwenden die IDE-Exe, um Lösungen zu erstellen, die die Projekte enthalten, die wir erstellen möchten.

1

Ich würde empfehlen, dass Sie die sprachspezifischen Compiler aus der Gleichung für diesen einen nehmen. Und Sie können weiterhin NAnt verwenden, um dies zu tun:

Starten Sie zuerst mit einem Ziel, das MSBuild verwendet, da das Ihr Projekt unabhängig von der verwendeten Sprache kompiliert und kümmern sich um die Abhängigkeiten für Sie. Das bedeutet, dass Sie nicht zu hart Code benötigen sie in

. Beispiel:

<target name="WinBuild"> 
    <exec program="msbuild.exe" 
     basedir="${DotNetPath}" 
     workingdir="${SolutionPath}" 
     commandline="MySolution.sln 
        /nologo /verbosity:normal /noconsolelogger 
        /p:Configuration=Debug /target:Rebuild" /> 
</target> 

Ich denke, wenn Sie, dass genagelt hast - du viel Zeit verbringen können versuchen, NAnt zu erhalten nativ zu kompilieren, Aber das ist meiner Meinung nach das, was ich für dieses Projekt verwenden würde, da es scheinbar einmalig ist?

Hoffnung, dass

Cheers,

Rob G

1

ich eine ähnliche Erfahrung mit NAnt gehabt haben und die vbc Compiler für VB.NET-Projekte hilft, die mit Visual Studio entwickelt werden. Meine Lösung bestand darin, den Import von Namespaces auf Projektebene in Visual Studio zu vermeiden (was standardmäßig der Fall ist) und explizite Imports-Anweisungen auf Klassen-/Dateiebene zu verwenden. C# -Projekte funktionieren standardmäßig auf diese Weise (keine Namespace-Importe auf Projektebene), und ich mag die zusätzlichen Informationen, die von expliziten Namespace-Direktiven bereitgestellt werden, wenn ich eine Datei anschaue.

Interessant, dass VB.NET und C# VS-Projekte in dieser Hinsicht so unterschiedlich sind.

+0

Ich wusste das nicht, danke! – mmattax