Testcase: <?xml version="1.0" encoding="utf-8" ?> <project name="Testcase" default="buildall"> <property name="frameworks" value="net-1.0,net-1.1,mono-1.0,net-2.0"/>
<target name="build"> <csc target="library" output="Testcase.dll" keyfile="anyvalid.snk"> <sources> <include name="anyvalid.cs"/> </sources> </csc> </target> <target name="buildall"> <foreach item="String" in="${frameworks}" delim="," property="framework"> <if test="${framework::exists(framework)}"> <property name="nant.settings.currentframework" value="${framework}" /> <call target="build" /> </if> </foreach> </target> </project> You might also want to add 'supportskeyfile' to the beta versions of .Net 2.0 in the App.config - I can't check this here. Regards, Brar Piening
diff -r nant-0.85-nightly-2005-11-13/src/NAnt.Console/App.config nant-0.85-nightly-2005-11-13_changed/src/NAnt.Console/App.config 352a353 > <attribute name="supportskeyfile">true</attribute> 358a360 > <attribute name="supportskeyfile">true</attribute> diff -r nant-0.85-nightly-2005-11-13/src/NAnt.DotNet/Tasks/CompilerBase.cs nant-0.85-nightly-2005-11-13_changed/src/NAnt.DotNet/Tasks/CompilerBase.cs 69a70 > private bool _supportsKeyFile; 399a401,411 > /// <summary> > /// Indicates whether the compiler for a given target framework > supports > /// a command line option that allows the specification of a keyfile. > /// The default is <see langword="false" />. > /// </summary> > [FrameworkConfigurable("supportskeyfile")] > public virtual bool SupportsKeyFile { > get { return _supportsKeyFile; } > set { _supportsKeyFile = value; } > } > 515c527 < if (KeyFile != null) { --- > if (KeyFile != null && SupportsKeyFile) { 1086c1098 < if (KeyFile != null) { --- > if (KeyFile != null && SupportsKeyFile) {