• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 255
  • Last Modified:

How can I share and edit one class over several projects?

Hi experts,
I created some folders:


Now I would like to have some common classes within c:/GPF-Project/shared.
I need to edit the classes from all other sub directories like GPF and DNATranslator ...
At the moment VS.net keeps creating new source files in the subdirectories when I try to add a function or variable to the class. It however brings me to the right point if I select a function in the class view.
How can I tell VS.net to edit the classes in the location they are and obstain from creating new files?
I add the classes by including the source files in the solution explorer ... Add - Add an existing item ...
Any ideas?
  • 5
  • 5
1 Solution
AndyAinscowFreelance programmer / ConsultantCommented:
Remove the files from the projects.
Move the files into your common folder.
Add the files back into your project.

Note I say files NOT classes
allmerAuthor Commented:
That is exactly what I did.
I chose the appropriate files (xy.h, xy.cpp), deleted them in the solution view, moved them physically to the shared folder and then inserted them back in the solution view (Add existing item).
If I now use the solution view to select the files there is no problem.
If I, however, try to add a function by right-clicking a class in the class view and choose add function it always creates a new file in the current folder and does not add the content to the files in the shared folder.
Best regards,
AndyAinscowFreelance programmer / ConsultantCommented:
I use Visual Studio 6.  This procedure works fine there.  Maybe this is one of Microsofts 'improvements'
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

allmerAuthor Commented:
The problem may be my way to include the headers:
if I have 2 files in shared
xy.h and xy.cpp

If xy.h is included like this:
#include "xy.h"  -- didn't let me add a function at all sometimes //not very reproduceable, though.
#include "c:\full-Path\xy.h"  -- leads to a new file to be created.
#include "../shared/xy.h"     -- same problem here.

Is there a trick to that?
AndyAinscowFreelance programmer / ConsultantCommented:
I always use the relative path, again with Visual Studio 6, and that is OK.

is this a typo? - the / instead of \\
#include "../shared/xy.h"

allmerAuthor Commented:
They both usually work fine ;-)
With different platforms you should rather use / than \.

If I right click a class in the class view and choose add variable it works fine.
The only problem is the location of the cpp file when adding functions that way.

Do I have to make any adjustments in VS to tell MS not to create a new file?
Maybe set some include path to be used?

Any suggestions?
AndyAinscowFreelance programmer / ConsultantCommented:
Maybe set some include path to be used?

Don't know, but it sounds a real hack if it is required.
allmerAuthor Commented:
What if the folder was read-only?
That would probably impose such restrains.
Strange that it works with changing header files that are read-only but not with
cpp files.
There must have been several cooks involved in that ;-}
Anyway, can't find out if this is the solution, yet.
AndyAinscowFreelance programmer / ConsultantCommented:
Why should the folder be read only - but it would be quick for you to test.
allmerAuthor Commented:
You are right and after some ...
It doesn't change a thing if I mess around with the file attributes.
They weren't probably read-only in the first place ... just displayed like that by the explorer.
dir /AR didn't seem to find any read-only files.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

  • 5
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now