Reputation: 41
I try to convert vcprojs from 2005 to 2010 and I get the following error:
Converting project file 'C:\temp\Win32GlobAgent\Win32GlobAgent.vcproj'. Unable to read the project file "Win32GlobAgent.vcxproj". C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(36,5): The expression "[System.IO.Path]::Combine(C:\temp\Win32GlobAgent\, "C:\temp\Win32GlobAgent\"/bin\Win32GlobAgent.dll)" cannot be evaluated. Illegal characters in path.
I need help on this.
I tried also to first convert to 2008 and then to 2010 but did not help.
Thanks
Upvotes: 1
Views: 1998
Reputation: 6689
There are no illegal symbols per se in the new vcxproj file. However quotes in text elements are handled differently in VS2013/VS2012. They were fine in the past but now cause the error reported. To fix the problem just edit manually vcxproj file as Hans Passant suggested. For example, change this
<Midl Include="doc.idl">
<TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"..\Lib\lib.tlb"</TypeLibraryName>
...
</Midl>
to this (notice quotes around ..\Lib\lib.tlb are removed:
<Midl Include="doc.idl">
<TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\Lib\lib.tlb</TypeLibraryName>
...
</Midl>
Repeat this step for all the other elements inside Midl element.
Upvotes: 1
Reputation: 941635
"C:\temp\Win32GlobAgent\"/bin\Win32GlobAgent.dll
Pretty clear from the error message, it is tripping on the double quote that's inside the string instead of the end. Which was probably caused by the forward slash on /bin
.
Search the .vcproj files for /bin
and use a text editor to correct to \bin
or bin
. Notepad will do fine.
Upvotes: 2