2010-03-01 130 views
5

如何在我的nant脚本中需要向msbuild任务表明它应该使用.net 4.0 rc?Nant msbuild任务,使用.net 4.0 rc

+0

为什么在你的脚本中有一个msbuild任务?你使用的是msbuild,你为什么要这么做? – 2010-03-01 02:33:38

+1

您可以使用NAnt来处理整个项目自动化任务(例如运行测试,运行分析,版本控制,打包等)并委派给MSBuild进行编译。 – 2010-03-01 19:08:46

+0

Grant是正确的,Nant正在构建,运行测试,运行ncover,然后处理一些数据库脚本。 – 2010-03-01 21:55:21

回答

4

我认为最新的NAnt/NAntContrib默认为.NET 3.5,因此您必须将其更改为4.0。有一个NAnt属性来处理(<property name="nant.settings.currentframework" value="net-4.0" />),它应该靠近NAnt构建文件的顶部。

接下来,您需要进入NAnt的配置文件并添加4.0节点,以便NAnt(以及扩展NantContrib)知道新的CLR版本。

+0

这似乎解决了它。只是想附加一个链接到一个博客,我发现了实际的nant配置部分。只需要将版本号更新到发布候选版本并将一行添加到启动部分。 http://paigecsharp.blogspot.com/2009/08/nant-net-framework-40-configuration.html – 2010-03-02 00:50:28

+0

这实际上就是我在VS 2010/.NET上试用自动化版本时必须要做的事。对不起,我不能在这里粘贴解决方案,但我没有代码方便。很高兴我能够帮助你解决这个问题。 – 2010-03-02 19:49:50

1

第一个选项是更改MSBuild任务使用的可执行文件。根据doco这是一个框架属性,所以您需要在主要的nant配置文件中对其进行更改,而不是将其作为单独的脚本,并且您必须在计划构建脚本的每台计算机上执行此操作。

另一种选择是使用exec任务。 This问题和答案应该对此有所帮助。

编辑:忘了提及MSBuild目录。要更改版本,只需使用不同的MSBuild。

2.0中:%windir%\ Microsoft.NET \框架\ V2.0.50727 \ MSBuild.exe
3.5中:%windir%\ Microsoft.NET \框架\ v3.5版本\ MSBuild.exe
4.0b2:% windir%\ Microsoft.NET \ Framework \ v4.0.21006 \ MSBuild.exe