Sophisticated ASP.NET and nant Web Applications

Work on the intranet, where we have about 20 different web applications - some .net, some classic asp.

Currently, every .net application is its own solution. There is an advantage to this: we can create and deploy only one application without affecting other applications, and all applications share the session, but we cannot use the master pages, and there are real problems with using localization resources, common css and js, etc. d. Build and deploy is completely manual, which is a real problem.

Iโ€™m trying to create a structure that will allow us to use the capabilities of VS2008, but still have the ability to update one application without affecting others, while preserving all the functions, such as master pages and localization resources, and a sharing session between applications (therefore, we donโ€™t we can configure virtual directories for each application).

If I set up one solution that looks like this:

  / Root
  - App_GlobalResources /
  - shared
    - masterpages /
    - css /
  - App1 /
  - App2 /
 ...
  - AppN /
 ..
  - ClassicASP1 /

then the problem is that the assembly creates only one DLL (Root.dll) - it just does not scale for 20+ applications, all of which have different development cycles.

Is it possible (using nant or some other build tool) to create multiple DLLs? In this case, I would like to get Root.dll (contains at least global resources) and App1.dll and App2.dll.

Any other suggestions or links that I should pay attention to?

+4
source share
3 answers

I'm not sure you can do what you want, sadly. VS tends to create one DLL for a unique project (rather than a solution), and it looks like you have only one project, therefore, one DLL.

I suggest you save one project (csproj) for each application, but use NANT to create them (that is, one at a time, together, in order) and pack them all for deployment. This way, you can perform a single point deployment, but keep the applications separate.

I am surprised that you cannot use master pages in subfolders. You will need to replicate them for each AppN folder, but again - NANT can be used to pull them out of the public when creating the deployment package.

It takes some time to write the assembly and deployment of the script to get it right, but I found that once this is done, it will pay off very quickly - even if your payment is the only payment!

+1
source

There is a solution to this problem. In short, this involves creating a website project (which may have a homepage and more) and several subdirectories, each of which contains a web project. In a main web project, you exclude subdirects from the project. Then you add the project files to the solution. This link (updated) informs you of this.

-Edoode

0
source

I would suggest using MSBuild instead of Nant. This is a more native visual studio.

0
source

All Articles