VisualStudio 2010总是认为项目过时了,但是没有什么改变。

VisualStudio 2010总是认为项目过时了,但是没有什么改变。

我有一个非常相似的问题这里.

我还将C+/CLI和C#项目的混合解决方案从VisualStudio 2008升级到VisualStudio 2010。现在,在VisualStudio 2010中,一个C+/CLI项目总是过时。

即使它是在此之前被编译和链接的F5如果命中,将显示“该项目已过时。您想要构建它吗?”出现了。这是非常恼人的,因为DLL文件是非常低层和强制几乎所有项目的解决方案重建。

我的PDB设置为默认值(建议解决这个问题).

是否可能是VisualStudio 2010强制重建或认为项目是最新的原因?

还有其他为什么VisualStudio 2010会这样做的想法吗?


陪伴而非守候
浏览 852回答 3
3回答

慕的地6264312

仅适用于VisualStudio/Express 2010。参见VS 2012、VS 2013等其他(更容易)的答案找到丢失的文件,使用文章中的信息启用C+项目系统日志记录在VisualStudio中启用调试日志记录并让它告诉你是什么导致了重建:打开devenv.exe.config档案(在%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\或在%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\)。对于Express版本,配置文件名为V*Express.exe.config.之后添加以下内容</configSections>行:<system.diagnostics> &nbsp;&nbsp;<switches> &nbsp;&nbsp;&nbsp;&nbsp;<add&nbsp;name="CPS"&nbsp;value="4"&nbsp;/> &nbsp;&nbsp;</switches> </system.diagnostics>重新启动VisualStudio敞开DbgView并确保它捕获了调试输出尝试调试(在VisualStudio中按F5)在调试日志中搜索表单的任何行:devenv.exe信息:0:项目‘Bla\Dummy.vcxproj’不最新,因为缺少构建输入‘Bla\SomeFile.h’。(我刚击中Ctrl+F并搜索not up to date)这些将是导致项目永远“过时”的参考。若要纠正此情况,请从项目中删除对缺失文件的任何引用,或更新引用以指示其实际位置。注意:如果使用2012或更高版本,那么片段应该是:<system.diagnostics> &nbsp;&nbsp;<switches> &nbsp;&nbsp;&nbsp;<add&nbsp;name="CPS"&nbsp;value="Verbose"&nbsp;/> &nbsp;&nbsp;</switches> </system.diagnostics>

慕斯王

在VisualStudio 2012中,我能够比接受的解决方案更容易实现相同的结果。我更改了菜单中的选项工具&nbsp;→&nbsp;备选方案&nbsp;→&nbsp;项目与解决方案&nbsp;→&nbsp;构建和运行→*MSBuild项目生成详细的输出极小到诊断性.然后,在构建输出中,我通过搜索“不最新”找到了相同的行:“blabla”项目并不是最新的。项目项‘c:\foo\bar.xml’将“复制到输出目录”属性设置为“始终复制”。

慕村225694

我们也遇到了这个问题,找出了解决的办法。问题如上文所述“该文件不再存在于磁盘上”。这并不完全正确。该文件确实存在于磁盘上,但是.VCPROJ文件引用的是其他地方的文件。您可以通过转到“包含文件视图”并依次单击每个包含文件来“发现”这一点,直到找到VisualStudio找不到的文件为止。然后添加该文件(作为现有项)并删除无法找到的引用,并且一切正常。一个有效的问题是:如果VisualStudio不知道包含文件在哪里,它如何构建?我们认为.vcproj文件有一些相对路径,它在VisualStudioGUI中没有显示,这说明了即使包含的树视图不正确,项目实际构建的原因。
打开App,查看更多内容
随时随地看视频慕课网APP