.NET 4,0听众改变了

时间:2012-10-26 17:41:45

标签: .net config

我将一些传统控制台应用程序从.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。这条线甚至是必要的吗?

1 个答案:

答案 0 :(得分:3)

您无法按type删除,必须按name进行删除。

错误消息是因为,according to .config schemaremove节点允许的唯一属性是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>