gpt4 book ai didi

msbuild - 使用源文件/行显示来自构建时工具的错误

转载 作者:行者123 更新时间:2023-12-04 12:47:47 24 4
gpt4 key购买 nike

我的项目有一个 MSBuild 目标,它运行一个生成一些文件的工具:

<Exec Command="$(MyTool) @(Content)"
ConsoleToMSBuild="true"
IgnoreExitCode="False"
LogStandardErrorAsError="true" />

如果该工具在其输入(@(Content) 文件)中检测到一些错误,它会将错误输出到标准错误。这使得 MSBuild 无法构建,而 Visual Studio 会在错误列表中显示此文本 - 所有这些都很棒!

现在,该工具还知道错误所在的确切文件和行,我希望错误列表显示这一点,并且双击将指向该文件。如果该工具是 MSBuild 任务而不是独立的 exe,我可以调用 TaskLoggingHelper.LogError(..., file, lineNumber, ...) .我怎样才能用独立的 exe 工具完成同样的事情?我是否需要编写一个包装器任务来解析工具的错误?是否已经有这样的任务?

最佳答案

我不知道有任何现成的机制可以做到这一点,但请参阅例如Viewing PowerShell's Select-String output in Visual Studio : 您需要做的就是让您的输出与 VS 期望的相匹配,您会自动获得所需的行为。VS 查找像这样的消息

<file>(<line>): error <code>: <message>

例如 msbuild、编译器、链接器消息都遵循这种格式。因此,如果您的自定义工具输出该格式,它将显示在错误列表中,您可以双击它以导航到指定的文件和行。

关于msbuild - 使用源文件/行显示来自构建时工具的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42955711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com