使用记录器进行dotnet构建

7
如果我想指定一个日志记录器,可以设置日志文件的名称和位置,我会按照以下步骤进行操作:
dotnet build /l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log

这个语法在我以前使用msbuild时有效,但是在使用dotnet时无效。我做错了什么?

enter image description here

1个回答

23

我花了一些时间才找到这个,但你可以使用 fileloggerparameters (flp)

dotnet build /flp:v=diag

这将创建日志文件msbuild.log。选项[v]erbosity设置为[diag]nostic。但您可以选择其他详细程度。

使用logfile选项指定日志文件的名称。

dotnet build /flp:v=diag;logfile=MyLog.log

这也适用于 msbuild

msbuild /flp:v=diag;logfile=MyLog.log

使用PowerShell时,dotnet的命令如下:

dotnet build /flp:v=diag /flp:logfile=MyLog.log

1
当我运行你建议的内容时,我得到了以下输出: logfile=MyLog.log:该术语“logfile=MyLog.log”未被识别为 cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。 在第1行第26个字符处:
  • dotnet build /flp:v=diag;logfile=MyLog.log
  • ~~~~~~~~~~~~~~~~~
    • CategoryInfo : ObjectNotFound: (logfile=MyLog.log:String) [], CommandNotFoundException
    • FullyQualifiedErrorId : CommandNotFoundException
- Noel
@Noel,所以你在使用PowerShell。我尝试过使用普通的命令行。 - Jehof
@Jehof 感谢您找到这个!如果能链接到一些文档,那将非常有价值,因为即使在今天,似乎也很难找到。谢谢! - Oliver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接