2012-01-01 44 views
1

我嘗試vcprojs從2005年轉換爲2010,我得到以下錯誤:無法轉換vcproj在VS2005以vcxproj 2010年

轉換項目文件 'C:\ TEMP \ Win32GlobAgent \ Win32GlobAgent.vcproj'。無法讀取項目文件「Win32GlobAgent.vcxproj」。 C:\ Program Files \ MSBuild \ Microsoft.Cpp \ v4.0 \ Microsoft.CppCommon.targets(36,5):表達式「[System.IO.Path] :: Combine(C:\ temp \ Win32GlobAgent \,」 C:\ temp \ Win32GlobAgent \「/ bin \ Win32GlobAgent.dll)」無法評估。路徑中的非法字符。

我需要幫助。

我也試着先轉換到2008年,然後到2010年,但沒有幫助。

感謝

回答

2

"C:\temp\Win32GlobAgent\"/bin\Win32GlobAgent.dll

從錯誤信息很清楚,它絆倒了雙引號是這樣的字符串,而不是裏面到底。這可能是由/bin上的正斜槓造成的。

搜索的.vcproj文件/bin和使用文本編輯器來糾正,以\binbin。記事本將會很好。

1

在新的vcxproj文件中沒有非法符號本身。但是文本元素中的引號在VS2013/VS2012中的處理方式不同。他們過去很好,但現在導致錯誤報告。要解決這個問題,只需像Hans Passant建議的那樣手動編輯vcxproj文件。 例如,改變這種

<Midl Include="doc.idl"> 
    <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"..\Lib\lib.tlb"</TypeLibraryName> 
    ... 
</Midl> 

此(通知引號.. \ LIB \ lib.tlb被移除:

<Midl Include="doc.idl"> 
    <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\Lib\lib.tlb</TypeLibraryName> 
    ... 
</Midl> 

重複此步驟MIDL元素內的所有其他元素