2013-02-23 166 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知道爲什麼,但它的工作