我将一些传统控制台应用程序从.NET 2.0升级到.NET 4.0。我在Main()的第一行得到一个运行时错误,“类型不是一个公认的属性”。它源自以下部分中的.exe.config文件:
<listeners>
<add name="RHIOListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\Htp\RHIOListener.log"/>
<remove type="System.Diagnostics.DefaultTraceListener"/>
</listeners>
问题在于“删除类型”行。看起来该属性应该是“name”。我不知道该怎么做。似乎没有显式创建的“命名”DefaultTraceListener。这条线甚至是必要的吗?
答案 0 :(得分:3)
您无法按type
删除,必须按name
进行删除。
错误消息是因为,according to .config schema,remove
节点允许的唯一属性是name
。请尝试以下方法之一:
<listeners>
<add name="RHIOListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\Htp\RHIOListener.log"/>
<remove name="Default"/>
</listeners>
或者:
<listeners>
<clear/>
<add name="RHIOListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\Htp\RHIOListener.log"/>
</listeners>