Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在NAnt中为VB.Net创建自动生成文件?_Vb.net_Nant_.net 1.0 - Fatal编程技术网

如何在NAnt中为VB.Net创建自动生成文件?

如何在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代码执行此操作

我已经接管了一个针对.NET1.0框架的web应用程序的开发,该应用程序是用C#和Visual Basic编写的

我决定我们需要做的第一件事是完善构建过程,我为C#项目编写了构建文件,但在为Visual Basic创建构建文件时遇到了很多问题

诚然,我个人并不了解VB,但似乎我必须对构建文件中的所有导入和引用进行硬编码,才能使任何东西正常工作……当然这不是最好的方法

例如:如果我没有在构建文件中包含名称空间系统,我将得到几个常见未知类型的错误,例如:Guid

NAnt通常需要对VB代码执行此操作,还是VB代码需要可能的NAnt频繁重构


有人有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项目在这方面如此不同