2013-02-23 164 views
4

无法写入输出文件'xxx' - '无法执行CVTRES.EXE。' 。我有这个问题。我已经重新安装了VS2010,但问题仍然存在。我也应用了devnev -resetsettings,但徒劳无功。如何解决这个问题。无法执行CVTRES.exe

在此先感谢

+0

也许权限问题。检查了这一点:http://dotnetfish.blogspot.fr/2008/01/compiler-error-message-cs0016-could-not.html – 2013-02-23 09:13:59

回答

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)。

+0

在VS2013终极遇到这个同样的错误,这对我很好!非常感谢配置文件应该具有的XML代码和文件路径。我甚至检查了我的笔记本电脑,以确保代码是标准的,看起来好像是这样。 – 2014-11-09 16:42:37

2

再次,以防万一,这是对别人有用......

我遇到了在Visual Studio中相同的问题的解决方案2013年项目包含A(一个类库,只有代码)和项目B(另一类库,这个包含一堆资源文件),A引用B.确切的错误是:Metadata failure while creating assembly -- Could not execute CVTRES.EXE对于项目B.

原来A是针对.NET 4.5,而项目B是针对.NET 2.0。将B改为4.5也解决了这个问题。我猜可能是Visual Studio在CVTRES.EXE中寻找一个不存在的2.0相关文件夹或类似的东西。

更新:确实,Visual Studio正在搜索C:\Windows\Microsoft.NET\Framework\v2.0.50727文件夹中的文件,但它不在那里。重新安装.NET Framework 3.5(2.0不能下载)没有帮助。我从同事的机器上复制了这些文件,并且它工作正常。我不明白为什么发生在我身上,而不是我部门的其他人,我们都有完全相同的计算机设置(Windows 7 Pro x64,VS 2013 Pro)。

0

CVTRES.exe通常在资源.resx文件无法链接时发出抱怨。也许额外的ui语言文件等是问题所在。尝试编译排除这些文件,看看会发生什么。

+1

这不是一个真正的答案 – NathanOliver 2015-03-20 13:29:40

0

我通过

复制从framework/v2.0.50727cvtres.exe解决了这个问题framework/v4.0.30319

我do't知道为什么,但它的工作