是否有一个NAnt任务可以回显构建期间当前设置的所有属性名称和值?相当于Ant echoproperties任务的东西可能是什么?是否有显示所有属性名称/值的NAnt任务?
11
A
回答
22
试试这个片断:
<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>
你可以只保存和恶性运行。
不,没有任何功能可以为您做到这一点。
1
你不能证明一个否定的,但我找不到一个,并没有看到一个。我传统上推出了自己的财产回应。
6
我希望他们排序,所以我扩大了另一个答案。这不是很有效的,但是它的工作原理:
<script language="C#" prefix="util" >
<references>
<include name="System.dll" />
</references>
<imports>
<import namespace="System.Collections.Generic" />
</imports>
<code>
<![CDATA[
public static void ScriptMain(Project project)
{
SortedDictionary<string, string> sorted = new SortedDictionary<string, string>();
foreach (DictionaryEntry entry in project.Properties){
sorted.Add((string)entry.Key, (string)entry.Value);
}
foreach (KeyValuePair<string, string> entry in sorted)
{
project.Log(Level.Info, "{0}={1}", entry.Key, entry.Value);
}
}
]]>
</code>
</script>
1
我试图通过布拉德ç提出的解决方案,但他们并没有为我工作(在x64运行Windows 7专业与恶性0.92)。但是,这适用于我的本地配置:
<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>
相关问题
- 1. 是否有.NET属性用于指定属性的“显示名称”?
- 2. 什么是所有jndi.properties属性名称?
- 3. 是否有任何类属性的自定义名称的属性?
- 4. JQuery中的属性名称是否有不同的名称?
- 5. 这是否有任何名称(JavaScript属性访问器)符号?
- 6. 是否有内置的名称/值对属性?
- 7. 属性字段不显示所有页面上的属性值
- 8. XSL显示属性名称
- 9. jQuery - How do you say是否有任何div与属性显示==块称为x?
- 10. 是否有任何MSBuild属性显示我们正在发布?
- 11. JDOM - 降低所有属性名称
- 12. html中名称属性的有效值
- 13. 是否有任何具有“自动”和“无”值的CSS属性?
- 14. 是否有启动/停止COM +组件的NANT任务?
- 15. Xpath - 如何获取元素的所有属性名称和值
- 16. 如何仅显示所有者名称?
- 17. kivy:“无效的属性名称”为有效的属性名称
- 18. WPF,在TreeView中显示属性值而不是节点名称
- 19. 显示名称的所有环境变量的C =价值+
- 20. SSIS脚本任务获取所有变量名称和值
- 21. 显示匹配字符串模式的所有服务名称
- 22. Windows 8显示所有后台任务
- 23. 是否有可能使NAnt命令行属性读写?
- 24. .NET有效属性名称
- 25. mib2c - 显示所有可变属性
- 26. 是否有限制变量/属性名称的字符数?
- 27. 是否有可能通过路由值显示MVC中没有控制器名称的用户的名称
- 28. 是否有任何属性默认值初始值设定项属性?
- 29. 显示在wordpress中显示名称的所有角色
- 30. 是否需要保护所有属性?
这很漂亮。干杯。 – serg10 2008-09-29 20:32:06