Need a super easy way to sync Visual Studio solutions between different machines?

Evening All,

I am learning Selenium WebDriver between work and home and am currently having to copy my entire solution folder (that contains my projects) to Google Drive, then open it up again on the other machine. This method appears to be fraught with issues; usually that my references cannot be found because the paths are different, or my NuGet Packages are the wrong version, etc etc.

What is the easiest way to copy my entire solution and ensure that nothing gets broken along the way? Is there a setting where it’ll copy literally everything over, or should I be looking to GitHub integration?

Finding it all a bit confusing, but there must be a way!

Many thanks,

sad_muso

Hey James,

GitHub is a great way to go. Unure if it matters that much but I tend to keep a consistent location for where projects are stored for example c:\dev\projects or My Documents\Projects etc on both machines. If you do not wish to share your projects publicly checkout BitBucket. They offer free private repositories and you can have I think up to 5 people also contribute to the projects! If you are uploading all your project to Google Drive and then downloading it NuGet should download any dependencies for your project. Regardless go to something Like GitHub or BitBucket for some proper version control :slight_smile:

Hey Viv,

Thanks for the quick reply - really appreciated!

I thought it was odd that cooying the entire folder was still causing issues but that’s definitely what I did, so something must be amiss there.

I’ll try setting the same paths on each machine and then attempt to get some version control going - I’ll be back on here soon no doubt :slight_smile:

Hi,

It’s bad practice to expect that everyone has the same paths. Version control is good start. It’s actually the mandatory if you’re working at the multiple machines. And it’s “must to learn” anyway.

More important is to learn how to make tests independent from Your Own System. The purpose of test automation is - well - automate part of the testing. It means that the tests can be executed e.g. during night at the continuous integration environment. You can’t expect it to have e.g. your home directory. Also in many cases test automation is developed by multiple people. Even in those cases it’s not very good idea to expect exactly same kind of path structure.

So now it’s time to learn to use the IDE you’ve chose. https://stackoverflow.com/questions/6895457/how-to-define-relative-paths-in-visual-studio-project there’s discussion about setting relative paths at C. https://stackoverflow.com/questions/12492474/nuget-how-to-keep-package-versions-consistent-across-several-solutions has discussion how to update all NuGet packages at C#. I haven’t use C# or Visual Studio for awhile so I can’t remember how those things were exactly done.

Teemu

1 Like