我已经安装了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 Framework 4.5正在取代。net Framework 4.0。 我卸载了几次Visual Studio 2010,但都没有成功。当我删除。net Framework 4.5并重新安装Visual Studio 2010时,它运行得很好。

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

其他回答

如果你已经安装了Visual Studio 2012 RC,那么它会安装。net 4.5 RC。

卸载。net 4.5 RC,并安装你需要的版本(VS 2010为4.0)。这应该可以解决您遇到的任何问题。

这解决了同样的问题。不需要卸载Visual Studio。

在启用增量链接->“No (/ Incremental: No)”后,它不为我工作,但在我删除rc文件后,它为我工作。

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

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

在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。这对我很管用。

我尝试了几次,最终通过卸载VS2010解决了这个问题。我想我没有卸载所有的文件,这就是为什么它不能工作的第一次。

在VS2012的安装中,据说如果你有VS2010 SP1,你不能在两个程序中工作在同一个项目上。建议只有一个程序。

谢谢!