gpt4 book ai didi

build - 如何准确找出 Visual Studio 2019 重建未修改的 .NET Core 项目的原因

转载 作者:行者123 更新时间:2023-12-04 00:25:41 24 4
gpt4 key购买 nike

我正在 VS2019 (16.1.1) 中构建一个包含 .NET Standard 2.0 和 .NET Core 2.0 项目(C# 和 F#)的解决方案。如果我多次构建而没有更改,第二次和后续构建应该说“构建:0 成功,0 失败,X 最新”,但它有时每次都会重建一些项目。我如何找出确切原因?

有很多关于此的 SO 问题和博客文章,其中大多数建议将构建日志的详细程度设置为“诊断”并寻找“不是最新的”。我已经这样做了,但找不到字符串,也不是“不是最新的”(但“最新的”出现了很多次)。所以这似乎在 VS2019 中发生了变化。我也知道 U2DCheckVerbosity 注册表设置,但那仅适用于 .NET Framework。通读构建日志输出是不现实的,因为它超过 36 万行,所以我需要知道要搜索什么。

请注意,我不是在寻找猜测可能是什么问题 - 我正在寻找一种方法让 VS/编译器告诉您我。

最佳答案

I'm looking for a way to get VS/the compiler to tell me. (For VS2019)

很难重现相同的问题,因此我不确定您的问题的原因。但至于你问的是在输出窗口中找到最新相关信息的方法,也许你可以检查 .net core 的 Up To Data Checks 选项

Go Tools=>Options=>Projects and Solutions=>.net core=>Up To Data Checks。确保您已选中如果项目似乎是最新的则不要调用 MSBuild。然后将Logging Level更改为Info或Verbose。(根据需要选择合适的级别)

对于普通的.net Framework 项目或C++ 项目,build and run 中的build output verbosity 会有很大帮助。但是当试图找出 VS 认为一个 .net core 或 .net standard 项目过时的原因时,我认为我们可以尝试这个选项,因为它的输出更清晰。

例如:(一个 .net Core 项目依赖于具有 Info level .net core Up-To-Date Check 的 Standard 项目):

enter image description here

如果您在一个解决方案中有太多项目,我建议您一次构建一个项目,而不是构建整个解决方案,这样您可以更轻松地定位重建的原因。

关于build - 如何准确找出 Visual Studio 2019 重建未修改的 .NET Core 项目的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57143773/

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