4

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

提前致谢

4

6 回答 6

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

于 2013-04-23T12:33:33.373 回答
3

我解决了这个问题

cvtres.exe从复制framework/v2.0.50727framework/v4.0.30319

我不知道为什么,但它的工作

于 2016-05-23T08:40:45.920 回答
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 正在一个不存在的 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)。

于 2013-12-11T10:00:38.310 回答
0

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

于 2015-03-20T13:18:28.873 回答
-1

我知道已经很晚了,在我的情况下,CVTRES.EXE 文件被另一个进程使用,重新启动服务器解决了问题

于 2021-12-04T23:55:41.970 回答
-1

万一有人遇到 cvtres.exe 的问题 - 在我的情况下,它是反病毒启动,阻止文件执行。

于 2019-08-23T04:35:13.300 回答