【发布时间】:2010-11-10 15:40:22
【问题描述】:
如果我编译这个 Delphi 2007 项目
program MyProject;
{$APPTYPE CONSOLE}
procedure Test;
var
i: Integer;
begin
if i = 666 then
i := 42;
end;
begin
Test;
end.
从命令行类似
MSBuild MyProject.dproj /t:Rebuild /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=log.txt;verbosity=minimal我得到这个日志文件:
__________________________________________________ Projekt C:\Documents and Settings\pcbs1251\My Documents\RAD Studio\Projekte\MyProject\MyProject.dproj(重建-Ziel(e)): C:\Program Files\CodeGear\RAD Studio\5.0\bin\dcc32.exe -B -DRELEASE [SNIP] MyProject.dpr CodeGear Delphi für Win32 Compiler-Version 18.5 版权所有 (c) 1983,2007 CodeGear MyProject.dpr(10) Hinweis: H2077 Auf 'i' zugewiesener Wert wird niemals benutzt c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Borland.Delphi.Targets : 警告 : MyProject.dpr(9) 警告: W1036 Variable 'i' ist möglicherweise nicht initialisiert worden MyProject.dpr(9) 警告:W1036 Variable 'i' ist möglicherweise nicht initialisiert worden 17 Zeilen,0.00 Sekunden,11016 字节码,12156 字节日期。 Erstellen des Projekts MyProject.dproj bedet。现在我想把它修剪成
MyProject.dpr(10) Hinweis: H2077 Auf 'i' zugewiesener Wert wird niemals benutzt MyProject.dpr(9) 警告:W1036 Variable 'i' ist möglicherweise nicht initialisiert worden是否有任何 FileLoggerParameters 来执行此操作?
更新:由于似乎没有办法让 MSBuild 做我想做的事,我终于写了一个小 Delphi 程序来格式化 MSBuild 输出以满足我的需要。
【问题讨论】:
-
你能给我们更多的背景信息吗?你想在哪里看到这个输出?
-
@Jay:以“Erstellen ... bedet”结尾的块。是 FileLogger 当前写入 log.txt 的内容。我宁愿让它写两行块。无版权、无摘要、无重复警告等。
-
为什么?您的流程的下一步是什么?
-
我想将日志文件存储在版本控制中,因为我们有一些无法摆脱的编译器消息,我希望能够看到该列表的发展。我从手动存储 IDE 消息窗口的输出开始,并希望尽可能接近地复制这种格式。