如何在NAnt中为VB.Net创建自动生成文件?
我已经接管了一个针对.NET1.0框架的web应用程序的开发,该应用程序是用C#和Visual Basic编写的 我决定我们需要做的第一件事是完善构建过程,我为C#项目编写了构建文件,但在为Visual Basic创建构建文件时遇到了很多问题 诚然,我个人并不了解VB,但似乎我必须对构建文件中的所有导入和引用进行硬编码,才能使任何东西正常工作……当然这不是最好的方法 例如:如果我没有在构建文件中包含名称空间系统,我将得到几个常见未知类型的错误,例如:Guid NAnt通常需要对VB代码执行此操作,还是VB代码需要可能的NAnt频繁重构如何在NAnt中为VB.Net创建自动生成文件?,vb.net,nant,.net-1.0,Vb.net,Nant,.net 1.0,我已经接管了一个针对.NET1.0框架的web应用程序的开发,该应用程序是用C#和Visual Basic编写的 我决定我们需要做的第一件事是完善构建过程,我为C#项目编写了构建文件,但在为Visual Basic创建构建文件时遇到了很多问题 诚然,我个人并不了解VB,但似乎我必须对构建文件中的所有导入和引用进行硬编码,才能使任何东西正常工作……当然这不是最好的方法 例如:如果我没有在构建文件中包含名称空间系统,我将得到几个常见未知类型的错误,例如:Guid NAnt通常需要对VB代码执行此操作
有人有VB NAnt提示吗?我不确定,你是说VB还是VB.Net。
不管是哪种方式,请看一看。也许他们有一个解决方案。您正在调用msbuild进行生成吗?或者您正在调用VS.NET IDE exe来生成。我们在使用CC.NET和NAnt的c#/VB.NET混合中没有遇到任何问题,并且不必在生成文件中指定引用的程序集
我们所做的是使用IDE exe来构建包含我们想要构建的项目的解决方案。我建议您不要使用特定于语言的编译器。您仍然可以使用NAnt来执行此操作: 首先从使用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>
我想,一旦你确定了这一点,你可以花大量的时间尝试让NAnt以本机方式编译,但在我看来,这就是我将用于这个项目的东西,因为它似乎是一次性的
希望有帮助
干杯
Rob G我对NAnt和VB.NET项目的vbc编译器有过类似的经验,这些项目是用Visual Studio开发的。我的解决方案是避免在VisualStudio的项目级别导入名称空间(默认情况下是这样),并在类/文件级别使用显式导入语句。默认情况下,C#项目就是这样工作的(没有项目级名称空间导入),我喜欢在查看文件时显式名称空间指令提供的额外信息 有趣的是,VB.NET和C#VS项目在这方面如此不同