【问题标题】:Cortana App LogssCortana 应用程序日志
【发布时间】:2016-01-25 19:21:42
【问题描述】:

我正在开发一个 Cortana 应用程序(Windows 应用程序 C#),我正在使用以下命令来打印调试信息:

System.Diagnostics.Debug.WriteLine("voiceCommandName: " + voiceCommandName);
System.Diagnostics.Debug.WriteLine("textSpoken: " + textSpoken);

我的问题是:当我使用 cortana 启动我的应用程序时,我应该在哪里寻找这些文本/调试输出?

【问题讨论】:

    标签: c# windows cortana


    【解决方案1】:

    通常需要在应用配置文件中配置跟踪侦听器才能获得跟踪/调试输出。使用cortana时这不起作用吗?尝试将文件配置为跟踪侦听器 - TextWriterTraceListener。

    https://msdn.microsoft.com/en-us/library/system.diagnostics.textwritertracelistener(v=vs.110).aspx

    要添加跟踪侦听器,请编辑与您的应用程序名称对应的配置文件。在此文件中,您可以添加侦听器、设置其类型并设置其参数、删除侦听器或清除应用程序先前设置的所有侦听器。配置文件的格式应如下例所示。

    <configuration>
      <system.diagnostics>
        <trace autoflush="false" indentsize="4">
          <listeners>
            <add name="myListener" 
              type="System.Diagnostics.TextWriterTraceListener" 
              initializeData="TextWriterOutput.log" />
            <remove name="Default" />
          </listeners>
        </trace>
      </system.diagnostics>
    </configuration>
    

    【讨论】:

    • 伙计,我刚刚开始开发 Windows 和 Cortana。你能分享一下如何做到这一点的步骤(或链接)吗?
    • 这里是链接:msdn.microsoft.com/en-us/library/… 有关示例 XML,请参见“备注”部分。
    • 这应该在 App.Config 文件中吧?我找不到添加应用程序配置文件的方法...你能帮我吗?
    • 如果您使用 Visual Studio:右键单击解决方案资源管理器中的项目 --> 添加 --> 新项目 --> Visual C# 项目 --> 应用程序配置文件。否则,这取决于您使用的工具。此外,您可以使用任何文本编辑器编辑配置文件,甚至记事本也适合。
    • 配置文件名与应用程序文件名完全相同,但扩展名为“.config”。例如,“MyCoolApp.exe”和相应的“MyCoolApp.config”。配置文件必须与对应的“.exe”文件放在同一文件夹中。
    【解决方案2】:

    跟踪侦听器是可能的,但您也可以将 Visual Studio 配置为等待您的应用启动并自动附加到它:

    • 在 Visual Studio 中,打开项目的属性页面。
    • 导航到调试选项页面
    • 启用“不启动,但在启动时调试我的代码”(对于 c# 项目,对于 winjs/c++ 项目有点不同)
    • 保存设置
    • 从 VS 开始调试。
    • 在 VS 中观察输出窗口。

    VS 将构建、部署,然后等待。当您使用 Cortana 激活您的应用程序时,VS 会自动连接到您的代码,并可以立即中断断点,或者捕获发送到调试输出的输出等。

    这也适用于作为 Cortana 后台任务的一部分运行的代码。 Cortana 已设置为通知是否附加了调试器,并且也不会过早地使您的任务超时。

    【讨论】:

    • 是否可以增加 Cortana 超时?每次我调试应用程序时,如果我花费了太长时间(比如 5 秒)Cortana 就会关闭应用程序的执行..
    • 没有办法手动调整它,Cortana 应该检测到调试器已连接并关闭 5 秒超时,即使在 win10 build 10240 中也是如此。唯一一次没有回来的时候win10还是技术预览版。
    • 顺便说一句,John,作为一种解决方法,您可以尝试使用 debugging tools for windows 中的 PLMDebug。你需要在你的包裹上使用它,看看这是否能改善这种情况。 VS 应该自行设置:S
    • 是的,使用 VS 2015 我只能调试约 5 秒,而且我的 Win 10 企业版不是技术预览版 - 至少我没有看到任何提及它的内容。这个 PLMDebug 工具是一个命令行工具,对吧?如何与 Cortana 交互?你能给我一个链接吗?
    • 我手边没有。它是一个命令行工具,您只需运行并将您的应用程序的应用程序 ID 提供给(不是 Cortana 的,您正在开发的应用程序)。我上面评论中的链接显示了它的使用方式。一旦你这样做了,你的应用程序应该关闭正常的挂起/恢复行为,Cortana 应该尊重这一点。但是,VS 应该会自动执行此操作,所以我很惊讶您需要这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    相关资源
    最近更新 更多