PC 重新启动后,Visual Studio 有时会重建未修改的项目

2024-02-09

我有一个包含大约 50 个 C# 项目的 Visual Studio 2013 解决方案。通常,如果我选择构建(F6),它只会构建已更改的项目。但有时在我关闭并重新启动我的电脑后,当我选择构建(F6)时,它会重建所有内容。为什么?

当我重新启动电脑时,这种情况并不总是发生。大多数时候,它会说所有项目在重新启动后都是最新的。但有时它会重建一切。

我看了下面的问题Visual Studio 重建未修改的项目 https://stackoverflow.com/questions/14916729/visual-studio-rebuilds-unmodified-projects及其答案。

我所做的下一步是将构建输出详细程度设置为诊断。

当 PC 重新启动后 Visual Studio 重建所有内容时,我收到以下输出:

1>Project 'Project1' is not up to date. Missing input file
...

还有更多行(超过 1000 行)。我查看了它们,但我仍然不明白为什么 Visual Studio 会重建项目。

Update

为什么 Visual Studio 需要以下文件?

1>Project 'Project1' is not up to date. Missing input file
'c:\users\wo\appdata\local\temp\.netframework,version=v4.5.assemblyattributes.cs'.
...

对于未来的旅行者,我认为这也只是当前版本的 Visual Studio 2019、16.6 及更高版本中的一个错误。

我使用 Visual Studio 2019 版本 16.6.0 和 16.6.1 时会出现此问题。我有跨版本感知的 C# 项目,在 2010、2015、2017 或 2019 16.5 及更早版本中,在同一台计算机和同一用户上,在同一文件夹和解决方案中使用同一项目,但没有此问题。

在最近的 2019 版本中(在最后一个月左右,即 2020 年 5 月和 6 月 1 日),我收到了类似的消息:

1>“香蕉”项目不是最新的。缺少输入文件“c:\users\banana\appdata\local\temp.netframework,version=v4.7.2. assemblyattributes.cs”。

如果我先清理然后构建,那就很正常了。如果我运行连续构建,则会收到错误。

无论是否重新启动,甚至在清理临时文件夹之后,或者我是否以管理员身份运行 Visual Studio,都会发生这种情况。它试图找到的路径确实存在,并且如果粘贴到资源管理器中就会弹出。

我已经用新文件夹彻底清理了除代码文件之外的所有文件,并且遇到了同样的问题。对我来说,这只适用于 C# 项目。所以我认为这是 16.6 的错误。

查看最近的变化:

KirillOsenkov 于 2020 年 1 月 4 日发表评论

@livarcocc 可以优先考虑这个吗?这是一个影响很大的问题,很容易解决,并且已经开放三年了。看起来像是唾手可得的果实。

bording 于 2020 年 2 月 12 日发表评论

现在这个问题的修复已合并到 master 中,它将属于哪个版本?我看到这个问题出现在 16.5 里程碑上,那么这是否意味着它将出现在该版本中,或者修复是否也需要移植到另一个分支?

tmat 于 2020 年 2 月 12 日发表评论

@bording 我将里程碑更新为 16.6,因为我相信 master 是 16.6。

https://github.com/microsoft/msbuild/issues/1479 https://github.com/microsoft/msbuild/issues/1479

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PC 重新启动后,Visual Studio 有时会重建未修改的项目 的相关文章

随机推荐