Jump to content
Xtreme .Net Talk

Recommended Posts

Posted

I have been working with Visual Studio and VSS for about a year now but only by myself on projects. I finally got used to the way VSS split up asp.net projects.

Now my company needs to develop a large scale application that will involve 4 developers working on a 3 tier application (UI, logic, DB).

What is the best way to set this up in Studio and VSS so that different developers can work on different tiers at the same time?

 

I envisioned a scenario where we could have a central repository in VSS and folks would have their own solutions but they would check out tiers as projects in that solution. Is this what the project group was designed for?

 

Or can we all share a solution out of VSS and open it as read/write to modify different projects within it?

 

Anyone know of a good doc reference for this kind of stuff?

Wanna-Be C# Superstar
Posted

We've had pretty good luck with just creating a solution in VS.net, then adding it to VSS, then start adding the projects for each layer/tier of your application. So yeah, it's one central VSS repository that all the developers point to for the latest code/check-ins.

 

In our case, there were about 12 developers working on the various pieces of the different projects at any given time and we didn't really run into much module contention (and in VS2005 this will be even lessened with Partial-classes!).

 

If you're on a larger team, you can look into "Branching/merging" in VSS so each developer ends up working in their own little sandbox copy of the code, then mergers their stuff back up to the master - but I've seen plenty of problems with that approach (bad merges, etc).

 

One thing I'd really recommend is creating a build script with Nant which you can use to ensure that everything people are doing is playing nice with the rest of the latest code. So there, you'd have a developer make some changes, get latest (minus their work-in-progress files), and run the Nant script to ensure everything is still working. Unit-tests with NUnit might also be helpful if you're into that method of development.

Posted

mocella, can you please explain more.

What is Nant and Nunit?

 

And how to control the code versioning.. I am getting the same problem too. But, stuck and don't know how to actually solve this scenario.

 

What my company do is distribute all the components to different developers ad they are requirement to build dll for me. i am the one who will merge all the dll into the main system.

 

Is there any good software you can recommend, which can be fully integrated with VS for development team?

George C.K. Low

Posted

georgepatotk - I don't envy the position you're in :eek:

 

Okay, so a bit of a background on Nant. Basically, the idea of it is to give you, the developer/architect/admin/whatever a scripted environment which you configure via XML config files (much like app or web.configs in VS.net). It does stuff like get latest code from VSS, command-line compiles for C# and VB.net (even vb6 and C++) code, allows you to move stuff around (xcopy), zip files, run executables, pretty much anything you can think of.

 

So it's pretty powerful, yet fairly simple to get up and running. Here's a link to a sample config file for Nant that runs a hello-world compile

 

The great thing with Nant from an integrator or architect point of view is that you can control what can compile - so no developers can just add project references to "this really cool 3rd party control that I wanted to use" (but you may not own/need, etc) - the build script is totally independent of your sln and project files for .net.

 

You can create a Nant script at any time in your project timeline, but backing in with NUnit and unit-tests mid-project may be a little tough (both selling to management the time you need and getting your code to a test-able state).

 

Nunit is a framework for writing code-tests as a developer. The idea is you write a test, then write the code to support it. Think of it like writing a USE case, then writing all the code you need to make that USE case happen (it's similar to this). NUnit can be found here

 

If you want more help with this, shoot me an PM and we can take this discussion offline and get into specifics for your project's needs.

 

;)

Posted

Here is the doc that is very helpful from a VSS/Studio standpoint:

 

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vetchWebProjectsSourceControlIntegrationInVisualStudioNET.asp

 

What we decided to do was this:

Create a solution and add several projects to it. Add the lot to VSS. Each developer then works on their desktop and checks out the files they need from the project they need and they work on them and test locally. Then they push back to VSS. The projects help with keeping each other from stepping on one anothers toes. You can check out an individual file like a class document and it will lock down for you. However if you want to add an item to a project then you lock down the vbproj file and that doesn't work so well for others.

There is also a way explained in the doc that you can setup VSS to allow multiple checkouts of documents and use its conflict resolution. I kinda like that idea but the problem is that I think its a global setting that you flip for ALL vss stuff. I don't know that you can do it on a folder basis.

Wanna-Be C# Superstar

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...