我已经安装了Visual Studio 2012发布预览版,它看起来很好,但现在当我尝试使用Visual Studio 2010编译c++项目时,我得到了以下错误消息:

链接:致命错误LNK1123:转换到COFF期间失败:文件无效或损坏

我不是100%确定,但这似乎与项目中有.rc(资源)文件有关。

我尝试从添加/删除程序和重新启动修复Visual Studio 2010,但这没有效果。

如果我使用Visual Studio 2012 RC来编译c++项目,而设置使用Visual Studio 2010工具集,我也会得到相同的错误。升级到Visual Studio 2011工具集可以解决这个问题(当然,我不想对产品代码这样做)。

更新:我已经卸载了Visual Studio 2012,重新启动,问题仍然存在!的帮助!


当前回答

我在更新。net后遇到了同样的问题: 我先卸载了。net框架, 从visualstudio.com下载visualstudio,选择“repair”。

NET框架自动安装与visual studio ->和现在它工作良好!

其他回答

我通过以下方法解决了这个问题:

在命令提示符中,输入msconfig并按enter。 单击“服务”页签。 寻找“Application Experience”并打勾(即选择此选项以启用)。 单击OK。并在必要时重新启动。

因此,这个问题将永远存在。在没有任何干扰的情况下随机构建和调试你的c++项目。

我将启用增量链接设置为“No (/ Incremental: No)”,但它对我不起作用。

接下来我改变了:

Project Properties 
   -> Configuration Properties 
       -> General
          -> Platform Toolset -> "Visual Studio 2012 (v110)"

这对我来说很有用:)

在2014年1月,由于某些原因,我安装了。net Framework 4.5.1,我不知道是由于第三方软件安装还是自动更新。

1月29日,我安装了一个组件,我开始收到

LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt 

消息。当时我通过避免增量环节来解决。

1月31日,我安装了。net Framework 4.5.1的另一个组件,增量链接的把戏再也不管用了。然后我安装了Visual Studio 2010 SP1,但后来问题变成了:

Error   6   error LNK1104: cannot open file 'msvcrtd.lib'. 

我认为SP1搞砸了我的Visual Studio 2010安装。

所以我卸载了。net Framework 4.5.1,安装了。net Framework 4.0,然后卸载并重新安装了Visual Studio 2010。这对我很管用。

这是因为。net Framework 4.5正在取代。net Framework 4.0。 我卸载了几次Visual Studio 2010,但都没有成功。当我删除。net Framework 4.5并重新安装Visual Studio 2010时,它运行得很好。

请参见完全卸载Visual Studio 11来重新安装。

重新安装CMake对我有用。新的CMake副本发现它应该使用Visual Studio 11而不是10。