gpt4 book ai didi

msbuild - 使用 msbuild v15.0 调试 msbuild 自定义任务

转载 作者:行者123 更新时间:2023-12-05 02:14:40 25 4
gpt4 key购买 nike

Microsoft's instructions for enabling debugging of MSBuild tasks似乎不再工作。我无法让 msbuild/? 显示 /debug 开关,当我尝试 dotnet publish/debug 时它提示 /debug 不是有效的开关。

还有什么方法可以调试 MSBuild 任务吗?

最佳答案

msbuild 的 /debug 功能已从 MSBuild 15 及其代码的公共(public)构建中删除 has later been removed entirely .

要“调试”构建目标/msbuild 文件中的逻辑,最好的选择是使用 -bl 参数创建二进制日志并使用 MSBuild Structured Log Viewer 检查它们.它显示了任务调用的所有输入/输出以及 Msbuild 运行期间发生的所有步骤。

调试自定义任务(例如 C# 代码)非常困难。这将涉及循环+ sleep ,直到 Debugger.IsAttached 对于调试版本为真(然后附加到 Visual Studio 中的进程)或调用 Debugger.Launch()(仅在.NET Framework,而不是 .NET Core MSBuild)。

我建议将实际任务类与逻辑实现分开,以便对逻辑进行单元测试。这应该消除了在运行期间调试它的需要。

您可以在 NuGet's PackTask 中看到调试器逻辑和分离的示例。及其 PackTaskLogic class .

关于msbuild - 使用 msbuild v15.0 调试 msbuild 自定义任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53419244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com