语言(C#或VB.Net项目)对.Net构建脚本的影响

时间:2010-02-03 17:51:28

标签: .net msbuild nant

我是编写Build Script的新手。我正在尝试了解在创建构建脚本时使用不同语言(c#,vb.net c ++)的影响。

构建脚本可以使用Nant或MSBuild编写。

构建脚本中唯一的变化是编译器切换,甚至部署结构也随语言而变化。据我了解,我认为不应该对部署结构产生任何影响,只是想从专家那里确认。

2 个答案:

答案 0 :(得分:1)

使用MSBuild it's an xml format all it's own时,语言没有什么特别之处。

话虽如此......您可以编写自己编写的自定义任务,但它们可以使用您选择的任何.Net语言。

当您对语言等进行更改时...只要您在Visual Studio中,它就会以您配置的方式编译您的解决方案(例如,RELEASE,DEBUG或其他设置) 。它只是在大多数情况下调用该解决方案,除非您真正自定义构建。如果您进行了自定义(就像我们自定义程序集构建版本以匹配更改集),那么语言细节可能很重要,因为在某些情况下您正在编辑源文件。

答案 1 :(得分:1)

就构建脚本而言,没有太大区别。使用解决方案或项目文件上的MSBuild任务编译项目会更容易。当您的构建脚本使用MSBuild任务进行编译时,如果它是vb或c#项目,则无需担心。

在MSBuild任务和项目文件之间处理编译的语言特定细节。您可以将其视为构建脚本运行子构建脚本,但Visual Studio会生成该子构建脚本(项目文件)。 MSBuild和Nant(使用Nant Contrib)都可以启动MSBuild任务。

如果您希望构建服务器自动为您的项目生成版本号,那么存在细微差别。 AssemblyInfo文件在语言之间会有所不同。用于更新AssemblyInfo文件的构建任务应该有一个选项来选择它正在使用的语言,并相应地更新文件。