locked
Is there any way to automate converting just sln files from VS2008 to VS2013 ? RRS feed

  • Question

  • My general problem is that we have a large number (approaching 300) of "local" sln files that have not been converted from VS2008 to VS2013 although their underlying vcproj files have (so they are now really vcxproj / vcxproj.filters pairs).  This happened because these projects were converted along with "global" sln files that also contain these projects and are in fact used to build product.  The "local" sln files are more geared toward development, so the idea has been to upgrade them over time as they need to be worked with in VS, which is still an option.  It should also be noted that these "local" upgrades must be done so that they do not redo the vcxproj files in any way or needed adaptations get zapped and must be redone by hand.

    So ... does anyone have a suggestion how to automate the conversion of these remaining sln files without affecting the connected proj files?  devenv /upgrade does not seem to have the ability to leave the proj files alone unless I am misreading.

    Tuesday, February 17, 2015 6:18 PM

Answers

All replies

  • Try this automation: backup the files, upgrade the solutions, restore (or ignore) the presumptively affected project files.


    Tuesday, February 17, 2015 8:27 PM
  • Hi A Jarrett,

    According to your description, it seems that you want to upgrade the C++ project from the VS 2008 to the VS2013.

    Since there have some changes from the old version of VS to the latest version of VS, so first of all, I suggest you will need to check if the VS 2013 has your project template.

    In addition, as far as I know that since the VS have the backward compatibility feature, so we can open the solution directly from the VS2008 to the VS2013.

    Note: I suggest you'd better backup your solution before you upgrade the project from the VS2002 to the VS2013.

    For more information:

    https://msdn.microsoft.com/en-us/library/hh690665.aspx

    https://msdn.microsoft.com/en-us/library/kyb7zzw4.aspx

    Best Regards,


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Wednesday, February 18, 2015 7:03 AM
  • The Project itself is already upgraded from VS2008 to VS2013; the VS2008 vcproj file was converted to a vcxproj file and a vcxproj.filters as part of this.  This much conversion happened because we upgraded our "build" sln files to VS2013 already by the typical method: open up the VS2008 sln in VS2013 and it does the conversion.  However, these same projects also appear in more "local" development sln files that have yet to be converted.  FYI: These "local" sln files typically contain many fewer projects than the "build" sln files, but do contain repeats (already converted projects from other solutions) so to convert by opening in VS2013 you have step carefully through dialogs to avoid re-converting these projects over and over.  Why?  To avoid reversing any adjustments that had to be made after conversion to get them to actually build. (No, they did not typically build without error right out of the box after conversion.)

    We can continue to open each remaining unconverted sln in VS2013 as we need to and convert it in the same manner at such time.  Two issues with that: 1) the large number of remaining unconverted slns, 2) the manual overhead in doing each as described above.

    So I was wondering if there was some way to automate the sln conversion, with the further requirement that the proj files do not get rewritten.  The devenv /upgrade command line does not appear to meet that further requirement. 


    • Edited by A Jarrett Thursday, February 19, 2015 2:53 PM
    Thursday, February 19, 2015 2:46 PM
  • That's a possibility, and may in fact be the only viable option.
    Thursday, February 19, 2015 2:50 PM
  • Hi A Jarrett,

    Thanks for your reply.

    I sugegst you will need to check if if these files can be created in VS2013. 

    Since the VS2008 is really old version, and generally we open an old project with the closed VS version, for example, I sugegst you could check whether you could open all files in VS2010, and then test it with VS2013.

    In addition, I suggest you can try to open the your project solution using File | Open Project... and then pass the path to the solution project file check this issue again.

    I find a similar thread about how to convert project from old version VS to VS2013, you can try the jsck's suggestion to check your issue.

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/3d128a21-f3b5-430e-b146-60eea577194f/converting-vs-2005-project-to-vs-2013?forum=visualstudiogeneral

    Best Reagrds,



    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Thursday, February 19, 2015 11:07 PM
  • Hi Tina-Shi,

    The problem has nothing to do with whether the VS2008 solutions can be opened and upgraded in VS2013 development environment; they most certainly can and have been in many cases.  Similarly they can be upgraded by command line: devenv /upgrade (where of course you make sure to use the VS2013 devenv.exe).  It's just that upgrading solution files via opening in the development environment is time consuming, and by either method if not done carefully can result in overwriting post-upgrade changes to shared proj files.

    I think Viorel is right that at best I can run the devenv /upgrade on a local copy of our software stack and just update our archive with the altered sln files, ignoring any changes to previously upgraded proj files.

    Best regards,

    Friday, February 20, 2015 4:32 PM