【问题标题】:Windows Runtime: Does it include a logging library?Windows 运行时:它是否包含日志库?
【发布时间】:2012-01-07 19:44:59
【问题描述】:

System.Diagnostics.TraceSystem.Diagnostics.EventLogSystem.Console 似乎都无法使用。 WinRT 是否包含日志库?

【问题讨论】:

  • MS 从 .net 中删除这些似乎非常难以置信。是什么让你得出这个结论。
  • @DavidHeffernan:我添加了正确的using 语句并尝试访问EventLogConsole 类,但Visual Studio 11 表明它们不是System.DiagnosticsSystem 命名空间,分别。我还想,“也许我缺少参考”,但“添加参考”对话框中没有任何内容可添加。每当我调试应用程序时,我都会看到 mscorlib 正在加载。
  • @DavidHeffernan:我刚刚尝试通过浏览添加对 System 的引用,但 VS 报告“项目中已存在对组件‘System’的引用。”
  • 如果 metro 有控制台窗口会令人惊讶
  • metro 应用程序是沙盒,无法访问完整的 .net 框架。许多排除项很烦人

标签: .net logging windows-8 windows-runtime


【解决方案1】:

查看这个库,它基于 NLog:

https://github.com/mbrit/metrolog

【讨论】:

    【解决方案2】:

    我能找到的唯一东西(System.Diagnostics.Debug.WriteLine()):

        //
        // Summary:
        //     Writes a message followed by a line terminator to the trace listeners in
        //     the System.Diagnostics.Debug.Listeners collection.
        //
        // Parameters:
        //   message:
        //     A message to write.
        [Conditional("DEBUG")]
        public static void WriteLine(string message);
    

    它写入 Visual Studio 输出窗口的调试输出。

    【讨论】:

    • 所以基本上,这很好'System.Diagnostics.Debug.WriteLine()?
    【解决方案3】:

    看起来我们需要一个 c++ EventWrite 方法的托管包装器。

    http://msdn.microsoft.com/en-us/library/windows/apps/aa363752.aspx

    【讨论】:

      【解决方案4】:

      您可以在 .NET Windows 应用商店应用程序 (http://msdn.microsoft.com/en-us/library/system.diagnostics.tracing.aspx) 中使用 System.Diagnostics.Tracing 类。但是,您不能使用它们写入 Windows 事件日志。

      【讨论】:

        【解决方案5】:
        【解决方案6】:

        此外,这些人可能会帮助您:http://www.moderncomponents.com/products/ConsoleClass/about.php,他们正在为 Windows 8 Metro 应用程序开发控制台类克隆。

        【讨论】:

          猜你喜欢
          • 2011-03-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多