remi bourgarel
remi bourgarel

Reputation: 9389

How should we handle .csproj and web.config with visualsvn

Context : Windows 7, VS 2010, Tortoise SVN , and VisualSVN (all up to date)

We have some problems with our web.config files and .csproj : in these files there is informations common to the whole project (like connection string, configuration element) and informations depending on the machine (mostly file path).

So the problem is, each time I commit my web.config, my colleague has to go back to his file and change the file paths.

Did you find any way to handle it ? I tried to remove these from source control but it's kind of a problem (each time someone add a file to the project we have to add it manually, or a configuration key).

Thanks

Upvotes: 2

Views: 1433

Answers (1)

Grhm
Grhm

Reputation: 6834

One way we've handled file paths in the web.config is through the use of symbolic links. i.e. in the commited web.config have the files paths point to e.g. C:\website then on each developers machine run the following command:

mklink /d C:\Website c:\path\to\develper\specific\checkout

Thus no-one should need to re-edit the paths to point to their workspace.

We've not had problems with our .csproj files - they don't have machine specific config in them.

We did however have similar issues with app.config settings. Again solved by either having each developer store files in a set location or having a symbolic link from the set location to their location.

For connection strings, we've either got them all set to localhost or set them to localdatabase and have a host entry on each developers machine. This will only work if each developer connects to the same database name but on a different server. If you're connecting to the same database server but different databases, you'll need a different tactic.

Upvotes: 2

Related Questions