我为我的 MSBuild 进程编写了一些自定义记录器,它在命令行中工作正常:
msbuild <project> /logger:mylogger.dll
现在的问题是我应该如何在 .csproj 文件中指定自定义记录器,以便当我从 Visual Studio 构建时,我的自定义记录器的使用方式与从命令行运行 msbuild 时使用它的方式相同。
最佳答案
这是不可能的。在 MSBuild API 中,RegisterLogger必须在构建开始之前调用。当构建已经进行时,您不应该更改构建配置。您也许可以通过创建自定义 MSBuild 任务来解决此问题,该任务在构建中间添加一个新的记录器,但这会产生比它解决的问题更多的问题,因为记录器配置是每个构建引擎,而不是每个项目,所以当您添加/remove loggers,所有参与构建的项目都会受到影响。
关于c# - 在 MSBuild 配置文件中指定记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38708356/