有没有办法配置log4net在调试期间将日志打印到控制台和文件?我正在尝试通过在日志发生时立即观察日志来找到一种有效调试我的软件的方法。写入文件对我来说是个调试问题,因为我不想等到文件刷新到磁盘然后再打开它。因此我更喜欢它写入控制台。你有什么建议?我添加了app.config文件并附加了附加内容,但我无法显示结果控制台。以下是我的app.config配置: 最佳答案 您需要在中声明两个附加程序部分。像这样配置你的log4net: 关于c#-如何配置log4net以在Debug模式下打印到
当调试器附加到.NET进程时,它(通常)会在抛出未处理的异常时停止。但是,当您使用async方法时,这似乎不起作用。我之前尝试过的场景列在下面的代码中:classProgram{staticvoidMain(){//DebuggerstoppscorrectlyTask.Run(()=>SyncOp());//Debuggerdoesn'tstopTask.Run(async()=>SyncOp());//Debuggerdoesn'tstopTask.Run((Func)AsyncTaskOp);//Debuggerstopson"Wait()"with"AggregateExcep
当调试器附加到.NET进程时,它(通常)会在抛出未处理的异常时停止。但是,当您使用async方法时,这似乎不起作用。我之前尝试过的场景列在下面的代码中:classProgram{staticvoidMain(){//DebuggerstoppscorrectlyTask.Run(()=>SyncOp());//Debuggerdoesn'tstopTask.Run(async()=>SyncOp());//Debuggerdoesn'tstopTask.Run((Func)AsyncTaskOp);//Debuggerstopson"Wait()"with"AggregateExcep
我在visualstudio2015的表达式求值器中遇到了一个问题,提示“表达式求值器内部错误”,经过一些调查我发现这是由使用反射加载的程序集引起的。该程序集不会抛出任何异常,但在那之后,vsexp评估器将失败。这不是我加载的唯一程序集,有一些工作良好的程序集不会影响评估程序。为了解决这个问题,我必须选中“菜单>选项>调试>使用托管兼容模式”,但这会禁用“编辑并继续”功能,我该怎么办?引起程序集的属性:它的名字和主程序集一样(我更改了它的名字,但什么也没发生)我所有的项目都使用dotNet4.5所有根命名空间都相同(所有的程序集都是如此)谢谢! 最佳答案
我在visualstudio2015的表达式求值器中遇到了一个问题,提示“表达式求值器内部错误”,经过一些调查我发现这是由使用反射加载的程序集引起的。该程序集不会抛出任何异常,但在那之后,vsexp评估器将失败。这不是我加载的唯一程序集,有一些工作良好的程序集不会影响评估程序。为了解决这个问题,我必须选中“菜单>选项>调试>使用托管兼容模式”,但这会禁用“编辑并继续”功能,我该怎么办?引起程序集的属性:它的名字和主程序集一样(我更改了它的名字,但什么也没发生)我所有的项目都使用dotNet4.5所有根命名空间都相同(所有的程序集都是如此)谢谢! 最佳答案
好像是System.Diagnostics.Debug,和System.Diagnostics.Trace大致相同,但值得注意的异常(exception)是Debug用法是在发布配置中编译出来的。您什么时候会使用一个而不是另一个?到目前为止,我找到的唯一答案就是使用Debug类来生成只能在调试配置中看到的输出,而Trace将保留在发布配置,但这并不能真正回答我脑海中的问题。如果您要检测您的代码,为什么要使用Debug,因为无需重新编译即可关闭Trace? 最佳答案 主要区别在于您指出的区别:调试不包含在发布中,而跟踪是。据我了解,预
好像是System.Diagnostics.Debug,和System.Diagnostics.Trace大致相同,但值得注意的异常(exception)是Debug用法是在发布配置中编译出来的。您什么时候会使用一个而不是另一个?到目前为止,我找到的唯一答案就是使用Debug类来生成只能在调试配置中看到的输出,而Trace将保留在发布配置,但这并不能真正回答我脑海中的问题。如果您要检测您的代码,为什么要使用Debug,因为无需重新编译即可关闭Trace? 最佳答案 主要区别在于您指出的区别:调试不包含在发布中,而跟踪是。据我了解,预
有没有办法在发布版本中使用Debug.WriteLine而无需定义DEBUG? 最佳答案 不,但是您可以通过定义TRACE并使用Trace.WriteLine来使用发布版中的Trace。看这里:https://support.microsoft.com/en-us/help/815788/how-to-trace-and-debug-in-visual-c 关于c#-发布版本中的Debug.WriteLine,我们在StackOverflow上找到一个类似的问题:
有没有办法在发布版本中使用Debug.WriteLine而无需定义DEBUG? 最佳答案 不,但是您可以通过定义TRACE并使用Trace.WriteLine来使用发布版中的Trace。看这里:https://support.microsoft.com/en-us/help/815788/how-to-trace-and-debug-in-visual-c 关于c#-发布版本中的Debug.WriteLine,我们在StackOverflow上找到一个类似的问题:
我想从我的构建中挤出更多的速度,并且想知道我是否可以指示msbuild不生成PDB文件。我正在传递Configuration=Release和DebugSymbols=false属性,但没有成功。 最佳答案 您的发布配置中可能有PDB生成。将此添加到您的发布设置:falseNone您也可以在visualstudio中的项目配置中执行此操作。DisablePDBGeneration此外,如果从命令行运行MSBuild,命令行参数将为MSBuild.exeYourProject.csproj/p:DebugSymbols=false/p