2008-08-17 56 views
2

我已经接管了针对.net 1.0框架并且用C#和Visual Basic编写的Web应用程序的开发。如何在NAnt中为VB.Net创建自动构建文件?

我决定我们要做的第一件事情是细化构建过程,我为C#项目编写构建文件,但是在创建Visual Basic构建文件时遇到了大量问题。

无可否认,我个人不了解VB,但似乎我必须对我的构建文件中的所有导入和引用进行硬编码以获得任何工作......当然不是做事的最佳方式......

对于任何一个例子:如果我不包括在生成文件的命名空间系统,我会得到共同未知类型的几个错误,例如:GUID

并楠通常需要此VB代码或者是做VB代码需要一个可能的NAnt-freindly重构?

有没有人有VB NAnt提示?

回答

1

我不确定,如果你谈论VB或VB.Net。
无论哪种方式,看看Nant Contrib。也许他们有一个解决方案。

1

你打电话给msbuild来建立吗?或者你打电话给VS.NET IDE exe来编译。我们对使用CC.NET和NAnt的c#/ VB.NET混合没有任何问题,也不必在构建文件中指定引用的程序集。

我们所做的是使用IDE exe构建包含我们想要构建的项目的解决方案。

1

我会建议你从这个方程的语言特定的编译器。而你仍然可以使用楠做到这一点:

首先开始与使用的MSBuild,因为这将编译您的项目无论使用何种语言和照顾依赖于你的目标。这意味着你不需要他们硬编码在

例:

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

我认为一旦你已经有了钉 - 你可以花大量的时间试图让楠原生地编译,但在我看来,这是我将用于这个项目,因为它似乎是一次性的?

希望帮助,

干杯,

罗布摹

1

我曾与恶性类似的经历和VB.NET项目VBC编译器与Visual Studio的开发。我的解决方案是避免在Visual Studio中的项目级别导入命名空间(默认情况下发生),并在类/文件级别使用显式的Imports语句。 C#项目默认以这种方式工作(没有项目级别的命名空间导入),并且我喜欢在查看文件时由显式命名空间指令提供的额外信息。

有趣的是,VB.NET和C#VS项目在这方面是如此不同。

+0

我不知道这个,谢谢! – mmattax 2009-01-22 21:23:51