无法写入输出文件'xxx' - '无法执行CVTRES.EXE。' 。我有这个问题。我重新安装了VS2010,但问题仍然存在。我也应用了devnev -resetsettings但是徒劳无功。如何解决这个问题。
提前致谢
答案 0 :(得分:5)
我刚刚在客户的VMware映像上安装VS2010后遇到此问题,我需要对其进行调试。这个错误阻止我构建任何C#项目,而构建C ++项目工作得很好。
问题的根源是损坏的cvtres.exe.config
。我刚碰巧看看这个文件:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe.config
发现它只包含一个零字节序列。从已知良好的系统恢复文件的内容后,一切都开始正常工作。这是我现在在文件中的内容:
<?xml version ="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<requiredRuntime safemode="true" imageVersion="v4.0.30319" version="v4.0.30319"/>
<supportedRuntime version="v4.0" sku="client" />
</startup>
</configuration>
这个答案对你来说可能为时已晚,但我正在写它以防万一它会帮助别人。关于我的系统配置的最终说明:Win7 64位,VS2010(10.0.40219.1 SP1Rel),.NET Framework 4(4.0.30319 SP1Rel)。
答案 1 :(得分:2)
再次,以防这对其他人有用......
我在Visual Studio 2013中遇到了同样的问题。解决方案包含项目A(一个只有代码的类库)和项目B(另一个类库,这个包含一堆资源文件),A引用了B.确切的错误是:项目B的Metadata failure while creating assembly -- Could not execute CVTRES.EXE
。
原来A是针对.NET 4.5而项目B针对的是.NET 2.0。将B更改为4.5也解决了问题。我想Visual Studio可能正在寻找不存在的2.0相关文件夹中的CVTRES.EXE或类似的东西。
更新:确实,Visual Studio正在C:\Windows\Microsoft.NET\Framework\v2.0.50727
文件夹中搜索该文件,但它并不存在。重新安装.NET Framework 3.5(2.0不再可供下载)没有帮助。我从同事的机器上复制了这些文件并且工作正常。我不明白为什么发生在我身上而不是我所在部门的其他人,我们都拥有完全相同的计算机设置(Windows 7 Pro x64,VS 2013 Pro)。
答案 2 :(得分:0)
当资源.resx文件无法链接时,CVTRES.exe通常会抱怨。也许是其他ui语言文件等问题。尝试编译排除这些文件,看看会发生什么。
答案 3 :(得分:0)
我通过
解决了这个问题将cvtres.exe
从framework/v2.0.50727
复制到framework/v4.0.30319
我不知道为什么,但它的工作
答案 4 :(得分:0)
万一有人碰到cvtres.exe的问题-就我而言,这是因为反病毒程序启动,阻止了文件的执行。