我正在尝试从这里实现答案:
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。然后,您可以将此文件附加到电子邮件中,而无需发送整个构建日志。

10-08 15:01
查看更多