我正在尝试从这里实现答案:
How to access error details in MSBuild
> msbuild MyProject.proj /fl /flp:v=detailed;logfile=mylog.txt
<Target Name="ErrorEmail">
<ReadLinesFromFile
File="mylog.txt"
Lines="_ErrorLines"
/>
<Mail
SmtpServer="mysrv"
From="me@mysrv"
To="error@mysrv"
Subject="An error occured"
Body="Error details: @(_ErrorLines, '%0D%0A')"
/>
</Target>
看起来很优雅,但出现此错误:
最佳答案
mylog.txt文件被锁定,因为您将同一文件用于构建日志和ReadLinesFromFile任务。
编辑:尝试执行MSBuild 2次。首先创建您的项目,第二次发送电子邮件。将distributedFileLogger命令行开关与/flp1:logfile=errors.txt;errorsonly命令行参数一起使用,以将所有错误记录到errors.txt。然后,您可以将此文件附加到电子邮件中,而无需发送整个构建日志。