I am collaborating by email on a project with 2 other programmers. We're all pretty new to Visual Studio and C#. One of us is designing and bulding all the GUI forms, I'm doing the database work, and the third guy is doing the main app code.

What files does the forms guy have to mail to us in order for us to use the forms that's he's built? And, how do we paste them in to VS so that VS rescognizes them?


It would be easier for you to share the entire project using something like Github. It would also serve as a version control system for you.

and to answer your questions, everything with .cs on the end you'll need. You can just use Add Existing on them.

You could also use something like Google Drive. This will allow local copies and updates to all copies when changes are made.

It would be easier for you to share the entire project using something like Github.

Right, I thought of using Mercurial with Bitbucket, but I still need to know what files to track and what to ignore. For example, when our GUI guy creates Form1 that produces 3 files: Form1.cs, Form1.Designer.cs, and Form1.resx. Is that all I need to track formwise? Is there anything in the project Properties folder that has to be tracked?

This is why I sometimes hate IDEs. I do a lot of my smaller apps in Notepad++ and use macros to compile & run. That way I am in complete control and don't have to worry about some obscure setting that changed all by itself effing up my day. And, its very easy to re-use/copy/share a half-dozen files that all end with .cs.
<Okay, I'm done ranting>

You could also use something like Google Drive.

Love my Google drive, but same issue as above. We can't share every single file in the project folder can we? Won't we be stomping all over each other's settings and the like?

We can't be the first team on Earth that's using VS on a project. There must be some standard way to do this.

Thanks for your help,

if you put all the parts you have now into one project you could share the whole project. This way you can adapt to each change that affects your part. You might have to have a fairly high level of communication to make sure that your changes don't collide. Maybe a schedule to save your change or to do the update.

As long as each of you is only editing your our own assigned files this may work; I just gave it a simple test. Create a MS SkyDrive account and install MS's SkyDrive app on each of your systems (requires Vista or higher). Each of you would login to the same SkyDrive account. Then store your VS project on SkyDrive.

You may will get messages about about source modified outside the VS environment if you have a file open that has been modified by someone else.

I just realized that I gave some bad advise above as you can view each connected PC through Skydrive's web interface.