I'm using Visual Studio 2010 to amend a C# project.
Part of the application requires the user to be able to save and read a settings file (1 Project reads them in (as read only) from a file. The other project reads them in from the file to be shown in the GUI and when saved, the file is to be overwritten).
If both of these files were in 1 project, I could share it easily (using Resources.resx for example or any other approach). The issue I have is the project that reads the settings file is different to the project that writes/amends the settings file.
The 2 projects are not allowed to be referenced to each other (they apparently have to remain oblivious to each other existence) so I can't share a CONST STRING between them.
Now, I may be taking the DRY principal too far, but I am worried about writing code reference the a single file in multiple projects (next OS change may break this logic etc).
I'm going to assume that this decision isn't uncommon and that an approach(es) already exist to overcome this issue?
Is it just a question of having the same file referenced in 2 locations (and if that file changes, having to update each reference (this seems undesired)) or is there a better way?
save and read default settings
Do you mean "change default settings in order to apply overridden user settings"?contract needs to be defined that allows the "reader" to gain access to a file that the "writer" owns.
describes this situation perfectly!.config
files. This way you won't need to rebuild, repackage, and redeploy either application in the event the path (or OS as you mentioned) changes.