Dot-Net
是否有顯示所有屬性名稱/值的 NAnt 任務?
是否有一個 NAnt 任務會回顯目前在建構期間設置的所有屬性名稱和值?可能相當於 Ant echoproperties任務的東西?
試試這個片段:
<project> <property name="foo" value="bar"/> <property name="fiz" value="buz"/> <script language="C#" prefix="util" > <code> <![CDATA[ public static void ScriptMain(Project project) { foreach (DictionaryEntry entry in project.Properties) { Console.WriteLine("{0}={1}", entry.Key, entry.Value); } } ]]> </code> </script> </project>您可以保存並使用 nant 執行。
不,沒有任務或功能可以為您執行此操作。
我嘗試了 Brad C 建議的解決方案,但它們對我不起作用(在 x64 上使用 NAnt 0.92 執行 Windows 7 Profession)。但是,這適用於我的本地配置:
<target name="echo-properties" verbose="false" description="Echo property values" inheritall="true"> <script language="C#"> <code> <![CDATA[ public static void ScriptMain(Project project) { System.Collections.SortedList sortedByKey = new System.Collections.SortedList(); foreach(DictionaryEntry de in project.Properties) { sortedByKey.Add(de.Key, de.Value); } NAnt.Core.Tasks.EchoTask echo = new NAnt.Core.Tasks.EchoTask(); echo.Project = project; foreach(DictionaryEntry de in sortedByKey) { if(de.Key.ToString().StartsWith("nant.")) { continue; } echo.Message = String.Format("{0}: {1}", de.Key,de.Value); echo.Execute(); } } ]]> </code> </script> </target>