7

Visual Studio のビルド前イベントから実行されるバッチ ファイルを作成しています。

エラー、警告、およびメッセージを Visual Studio エラー リストに出力するにはどうすればよいですか?

エラーをスローするのではなく、エラーを修正する方法がほとんどであるため、これを検索するのは非常に困難です。

4

1 に答える 1

7

出力には特別な形式が必要です。

<Filename> (<LineNumber>): Warning: <ErrorMessage>

警告の代わりに使用することもできますError
また、スペースは重要です!

このようなものを作成できます

echo %~f0 (!lineNo!^): Warning: Invalid target for production

エラー位置のヒントを得るには、多かれ少なかれ正確な行番号を追加する必要があります。

if /i "!TargetPath:~-3!"=="DLL" (
    set "targetValid=1"
) ELSE (
    call :GetLineNumber lineNo +1 {3D967145-10B6-44A0-96EF-91B6C6E2DD0E}
    echo %~f0 (!lineNo!^): Warning: Invalid target '!TargetPath:~-3!' for production
)
....

:GetLineNumber returnVar add uniqueGUID
:::
:::
setlocal EnableDelayedExpansion
set "GetLineNumber.lineNo=0"
set /a "GetLineNumber.Add=%~2"
set "GetLineNumber.unique=%~3"

for /F "delims=:" %%L in ('findstr /n "!GetLineNumber.unique!" "%~f0"') do (
    set /a "GetLineNumber.lineNo=%%L"
)

(
endlocal
set /a "%~1=%GetLineNumber.lineNo%" + %GetLineNumber.Add%
)
exit /b
于 2015-04-22T13:46:43.490 に答える