自升级到 Visual Studio 2017 15.3.0 后,应用程序出现奇怪的调试输出

Strange debug output in app since upgrade to Visual Studio 2017 15.3.0

自从我升级到 Visual Studio 2017 15.3.0 后,我的 xamarin android 应用程序不断打印以下调试输出:

08-15 09:13:23.275 D/Mono    ( 3119): [0x9a5be930] worker unparking, timeout? no interrupted? no
08-15 09:13:23.275 D/Mono    ( 3119): [0x9a5be930] worker parking
08-15 09:13:23.275 D/Mono    ( 3119): [0x9a6bf930] worker unparking, timeout? no interrupted? no
08-15 09:13:23.275 D/Mono    ( 3119): [0x9a6bf930] worker parking
08-15 09:13:24.275 D/Mono    ( 3119): [0x9a87d930] worker unparking, timeout? no interrupted? no
08-15 09:13:24.276 D/Mono    ( 3119): [0x9a87d930] worker parking

输出相当规律,每秒几次。

这是什么意思,是什么原因造成的?

编辑:现在有一个bug report regarding this

我已将此问题报告给 Microsoft。他们复制了这个问题并打开了一个错误报告。他们还为我提供了以下解决方法,对我有用:(从他们的电子邮件中复制)

...似乎 Mono 默认详细程度已更改或 [Mono] 消息已移至信息日志详细级别。以下是我为缓解此问题所做的工作:

对于 Android,我向项目添加了一个新的 .txt 文件并将其构建操作设置为 AndroidEnvironment。然后我输入以下环境变量:

MONO_LOG_LEVEL=error

在我重新构建解决方案后,我不再看到 [Mono] 消息被记录到应用程序输出 window。

尽管我个人无法在 iOS 上复制此方法,但上述解决方法在 iOS 中应该同样有效,但如果不能,请告诉我。您可以通过右键单击 iOS 项目 -> 选项 -> iOS 构建来执行此操作。然后在mtouch输入框添加如下内容:

--setenv:MONO_LOG_LEVEL=error

这些额外的 Mono 环境变量会将日志详细程度设置为错误,这应该会在输出中显示 [Mono] 日志。

如果您喜欢添加日志记录,您可以将日志级别更改为消息,但是错误应该足以用于调试目的。

如果您想了解有关日志详细级别的更多信息,以下文档可以帮助您更深入地了解这一点:http://www.mono-project.com/docs/advanced/runtime/logging-runtime-events/#trace-levels