Looking at gathering some opinions on how to split a web application (or perhaps a set of web applications) (by project) ... basically, it will all be one big site, but the problem arises from the fact that it has many modules, each of which has its own dev / release loops.
The problem is that splitting them becomes a headache, trying to make sessions collaborative between sites and embedding shared resources in a DLL, but keeping them as one big project is a nightmare from the point of view of the source.
Possible ways to do this that I can think of:
- You have one application and a branch, like crazy to work on each module:. In a fundamental style, this seems right, but there would be many branches and merging branches all the time would be a nightmare ...
- Make all the separate applications: The disadvantage is that they all share their master pages and many user controls (implemented in ascx). I know how to put them in a DLL (using virtual path providers), but this is a pretty dirty solution. In addition, it is the transfer of the session back and forth between applications, mainly creating a solution for a homegrown session ...
Another thing that I tried to figure out if I can do but fail is to somehow create a "virtual folder" in csproj so that, for example, the folder "ModuleA" actually displays on "../../ ../ModuleA/Trunk/ ". I am sure this cannot be done without using any pre-build scripts, but I was hoping for something that would really load in Visual Studio, so I think this idea does not work ...
Does anyone have any tips on how I should go about this (be it one of the above or something that I haven't considered)? Want to make sure that I donโt shoot a foot here, because it is rather a long-term project with a lot of future improvements / services ...
fyjham
source share