Question: I have two asp.net mvc projects. Moreover one of them used ASPX view engine and other Razor.
First project it is something common from all users, other for some group of these users. They both share one session per user.

I'm going to join these projects and use [areas](http://www.asp.net/whitepapers/what-is-new-in-aspnet-mvc#_TOC3_2) for each. Now I want to know is that possible for my requirements? 

I have two questions:

1. Is it possible to put two projects with different view engines in one project and separate them in areas?
2. Is it possible to deploy one area in asp.net mvc and leave other area without changes?

PS: I feel that answer for first question is not. But I still interesting in second (just want to know if it is possible and in which way).

Answer: 
Here you find a blog post how to use multiple view engines in the same project:
<http://weblogs.asp.net/gunnarpeipman/archive/2010/07/29/asp-net-mvc-3-using-multiple-view-engines-in-same-project.aspx>

I guess this can also work with areas...

To your second question. There is a framework called mef. With the Managed Extensibility Framework (Mef) you could build up a plugin structure for your web-page where each plugin an be maintained indepentently. But you have to do a little of extra work for it.

See these links that might point you in the right direction:

<http://blog.maartenballiauw.be/post/2009/04/21/ASPNET-MVC-and-the-Managed-Extensibility-Framework-%28MEF%29.aspx>

<http://www.fidelitydesign.net/?p=88>

I hope I did understand your question correct and could help...
1 - YES
=======

Yes I work on a project that runs Spark and Razor at the same time.

You can't mix the 2 together

* Rendering a partial Spark from within a Razor page doesn't work (at least not well).

2 - NO
======

You can deploy changes to Views without affecting the rest of the site.

However, **touching either the Bin folder or a .config file will reset the AppDomain**. Also, changes to shared code will obviously affect both areas.

**Resetting the AppDomain will clear any SessionState** unless you are using an out-of-process session state provider (like StateServer, SQL Server, MemCache, etc...)

Why do you want to do this?

Alternate solutions:

1. Create 2 websites in IIS, you can bind them to separate IP addresses or Host Headers
2. Create 2 virtual directories with 2 separate sites