在MSBuild配置文件中指定记录器

时间:2016-08-01 21:23:20

标签: c# logging msbuild

我为MSBuild进程编写了一些自定义记录器,并且它在命令行中正常工作:

msbuild <project> /logger:mylogger.dll

现在的问题是我应该如何在.csproj文件中指定我的自定义记录器,这样当我从Visual Studio构建时,我的自定义记录器的使用方式与从命令行运行msbuild时使用的方式相同。

我还没有找到任何可以做herehere的事情。

1 个答案:

答案 0 :(得分:3)

这是不可能的。在MSBuild API中,必须在构建开始之前调用RegisterLogger。在构建已经进行时,您不应更改构建配置。您可以通过创建自定义MSBuild任务来破解这一点,该任务在构建过程中添加一个新的记录器,但这会产生比它解决的更多问题,因为记录器配置是每个构建引擎,而不是每个项目,所以当你添加/ remove logger,构建中涉及的所有项目都会受到影响。