Build 如何在Windows上提供csc.exe时强制NAnt使用gmcs

Build 如何在Windows上提供csc.exe时强制NAnt使用gmcs,build,mono,nant,Build,Mono,Nant,我正在建立一个新的项目来处理CLR和mono与.NET的对比。作为构建环境/工具,我选择了NAnt,因为我熟悉Ant,而且它似乎最适合我 虽然这在使用不同操作系统的不同机器上运行得很好,但我担心有一天,当我在Windows机器上开发时,GMC可能无法构建我的源代码,使其他使用mono的平台无法使用它们。因此,我的想法是告诉NAnt在任务中始终使用GMC。有没有办法这样设置构建脚本?还是我的问题的另一种解决方法?您可以使用配置文件Nant.exe.config中platform元素的default

我正在建立一个新的项目来处理CLR和mono与.NET的对比。作为构建环境/工具,我选择了NAnt,因为我熟悉Ant,而且它似乎最适合我


虽然这在使用不同操作系统的不同机器上运行得很好,但我担心有一天,当我在Windows机器上开发时,GMC可能无法构建我的源代码,使其他使用mono的平台无法使用它们。因此,我的想法是告诉NAnt在
任务中始终使用GMC。有没有办法这样设置构建脚本?还是我的问题的另一种解决方法?

您可以使用配置文件
Nant.exe.config
platform
元素的
default
属性来选择所需的编译器

您还可以使用
-t
开关在运行时进行选择。例如:

  • nant-t:net-4.0
    将使用csc,并以.net framework 4.0为目标
  • nant-t:mono-2.0
    将使用mcs,并以.NET框架为目标 2.0

您可以使用配置文件
Nant.exe.config
platform
元素的
default
属性选择所需的编译器

您还可以使用
-t
开关在运行时进行选择。例如:

  • nant-t:net-4.0
    将使用csc,并以.net framework 4.0为目标
  • nant-t:mono-2.0
    将使用mcs,并以.NET框架为目标 2.0

Ha,我知道他们会提供这样的切换,尽管我在文档中找不到。非常感谢。是的,很遗憾,文档没有那么好。希望这会在某个时候改变。Cheesha,我知道他们会提供这样的切换,尽管我在文档中找不到。非常感谢。是的,很遗憾,文档没有那么好。希望这会在某个时候改变。干杯