我有一个引用的dll到我的项目跟踪使用TraceSource,它不起作用。我在dll项目中的代码是这样的:
private static readonly TraceSource ts = new TraceSource("DataSource");
...
ts.TraceInformation(string.Format("Info: {0}", mess));
在应用程序项目中(我导入DLL的地方)App.config:
<system.diagnostics>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="MyListener" />
<remove name="Default" />
</listeners>
</trace>
<sources>
<source name="DataSource" switchValue="All">
<listeners>
<remove name="Default"/>
<add name="MyListener"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="MyListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="c:\\temp\DefaultWriterOutput.log" />
</sharedListeners>
</system.diagnostics>
当我使用带有跟踪的引用项目时,一切正常,但是当我导入dll时跟踪不起作用。配置有问题吗?
我忘了我的DLL项目正在使用Nuget配置(而不是Release)。 :(我将项目属性中的TRACE常量设置为Nuget配置,它可以工作。