.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
Gaurav Pal
Post New Web Links

How to Move Controllers/Models into a New Project/Assembly in MVC 2?

Posted By:      Posted Date: October 07, 2010    Points: 0   Category :ASP.Net

I have to admit first, that for the last few years, I've been mostly an MVP guy versus MVC. However, how I used to implement MVP is very similar to how MVC 2 is now implemented. I only have one issue with it...

When I used to create MVP apps, I could put all my logic (presenters, models) into separate assemblies/projects in the solution and my views into the main web app. This allows me to change the UI (i.e. the web based UI) to something else like a smart client or Silverlight or whatever and still have everything just work. With MVC 2, everything is all in the same project: controllers, views, models. Areas looked like a good start, but ultimately, not what I was looking for.

So, here's my question... How do I move the controllers and models out of the web project and into their own projects and still have everything work? A good, simple example would be the default MVC 2 web application template. When you open a new (non-empty) MVC web application, it creates a basic site for you. From there, how could I move the controllers and models in separate projects and still have everything just work? I can't seem to find anything on this anywhere else which has brought me here seeking help.



View Complete Post

More Related Resource Links

Could not load file or assembly - Web Deployment Project



I have the following projects in a solution :

- A Web Application

- A Class Library

- A Web Deployment project

The Web Application compiles and run fine when I don't go through the Web Deployment Project. However when I try to use that, I get the following error:

Error 1 An error occurred creating the configuration section handler for hibernate-configuration: Could not load file or assembly 'NHibernate' or one of its dependencies. The system cannot find the file specified. (F:\Folke\Folke.csproj_deploy\Release\web.config line 4) 1 1 Folke.csproj_deploy

"An error occurred creating the configuration section handler for hibernate-configuration: Could not load file or assembly 'NHibernate' or one of its dependencies. The system cannot find the file specified. (F:\Folke\Folke.csproj_deploy\Release\web.config line 4)"

This is the beginning of my Web.config:


External Assembly for Controllers...


I am just learning MVC, so bear with me.

I would like to have a project that contains all of my Controller logic. I'm not concerned with using Areas, as these are still maintained within the same project. 

Consider this scenario:

I have multiple sites/apps that require the exact same interaction in regards to a particular area, say CRUD ops on a user account. I do not want to create all of the controller logic for one site/app, recreate it again for the next, and make sure that I keep all maintenance to each in sync. I would prefer to keep the controllers in a separate project and reference them from the appropriate site.

I know someone will say that the controller logic is a lot of times specific to the application (as I've read elsewhere), but let's just say that it is guaranteed to be the same. I want to focus on the "how" and not the "why".

So far, I've created a class library project with the appropriate references for accessing System.Web.Mvc. How do I proceed with the routing configuration for this? Is this idea even possible? I read a few older articles that were written when Areas were first being introduced that said to create separate projects for them. Is this idea similar to that?

Thanks for your time and noob tolerance.

MVC2 Could not load file or assembly 'xxxx.Models' shared hosting

Hello,I have an mvc2 site that runs fine locally but when i deploy it to my shared hosting account i keep getting this error.Could not load file or assembly 'AppMVC2.Models, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.I have run Reflector againts the dll to see what dependencies the dll has, I then took each one of the dependant dlls and set them to copy local in the project and deployed them all to the shared hosting account even ones that should be on the server like System.Web. except for mscorlib.dll, but i still get the error.I have also tried to bin deploy and deploy the code files and get the same error.I have seen people write about fusion log but i don't see any examples on how to get this running on shared hosting.Just wondering does anyone else have any recommendations on how to track down the source of this problem?

Error on VS 2008 Class Library project: are you missing an assembly reference?)

http://msdn.microsoft.com/en-us/library/bb153523(office.12).aspx Working with ASP.NET 2.0 Web Parts and Windows SharePoint Services 3.0 Based on the above MSDN Walkthrough, I created a Class Library VS 2008 project. When clicking the Build menu, 11 errors on System.Web.Security etc popped up.  What's wrong? *********************************************** using   System; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; Error 1 The type or namespace name 'Security' does not exist in the namespace 'System.Web' (are you missing an assembly reference?) Error 2 The type or namespace name 'UI' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)

How do you move an UI testing for a web site project to a web application project?


I was not able to do unit testing for our existing web site project. I converted the web site project to a web application project. I did some unit testing and changes on the converted web application project. However, my co-worker was doing UI testing on the web site project.  We need put UI testing and unit testing to the web application project. Is it possible to move the UI testing code that my co-worker did to the web application project I am working? If so, how do you do it? Thank you for your help.

Li Ai Shen

How to change Assembly Name of WPF project?




Whenever I try to change to Assembly Name, and 'Root Namespace' of my WPF application,  it makes hundreds of errors in my project!


I'm not a programmer, I just paid a developer to create this project for me, and now I want to change the Assembly name.


How can I change the name properly without creating all these errors? I basically just right click on the project> Properties>Application tab and change it there.

I imagine the errors are something to do with references to the name in the code not automatically changing (there are no errors prior to changing the name).






VS2010 used an assembly in the GAC in stead of the project reference that was explicitly set in my p


When running my Windows Forms project in the debugger using F5 it uses the assembly version in the GAC in stead of the actual project referenced, thus ignoring the changes I make to my reference project.

If I remove the assembly from the GAC it works, but I woul like to be able to develop and test my assembly withoud having to remove my installed version first every time.

What is the best way to achieve this? Giving my reference project a defferent version number for instance?

Is this behaviour considered a bug that will be patched any time soon?



Separate class library for controllers,models,repositories,business logic


Alright after scratching my mind for a while.. I still cant figure out how to go ahead with my architecture: http://forums.asp.net/p/1618613/4149672.aspx#4149672

nor i can find a decent link / info on it...So, iam goin to give this one more try.

why .net2.0 project or .net3.5 project can not reference .net4.0 assembly


if the machine support .net3.5, .net2.0 project can reference .net3.5 aseembly and can load and call the functions. 

But why .net2.0 project or .net3.5 project can not reference .net4.0 assembly even the machine support .net4.0

How do that .Net project runtime determine load which assembly

I have a .Net 2.0 prject , and need call .Net3.5 assembly. If the machine set up .net3.5, it can work;  otherwise it will throw exception. Now I want to prepair two aseembly, .net2.0 and .net3.5. They are same source and IO, but .net2.0 disable some .net3.5 functions. When I found the machine doesn't support .net3.5, I call the .net2.0 aseembly. How do it? 

Project Example: ASP.NET MVC + SubSonic Architecture

use of SubSonic to provide the DAL in association with some ASP.NET MVC sites and was waylaid in my original intent to throw up a post summarizing the architecture we're using for the effort. Well I've finally gotten around to it. Recall that in his fake it till you need it post, Dave provided a window on our architecture that I'll build upon here

partial view, 2 controllers



This is my first visit to the forums, I hope someone here can help me


I'm writing a small webapplication for creating repair tickets and adding comments, really basic

now I'm writing this in MVC2

So I have 2 controllers, 1 HomeController that does everything related to the tickets (listing tickets, creating new ones, editing) and 1 controller for the comments

the edit view for the homecontroller contains a partial view for /comment/create

so /home/edit/ticketnumber can edit the title and status of the ticket on the left side of the screen, the right side of the screen contains the partial view for adding comments

this is done like this:

Html.Renderaction("Create", "Comment");

but if I look at the generated html code when running the app, both save buttons go to /home/edit/ticketnumber

so the comment is never saved.


I hope this makes sense and that someone can help me solve this

could somebody give me example how I can connect to database only once if I use many models in contr


I use in my ASP.NET MVC application repository pattern and I use in controller for example 3 models:

   namespace MvcApplication1.Controllers  
        public class HomepageController : Controller  
            private IWebsitesRepository _repository_websites = new WebsitesRepository();  
            private IFirmRepository _repository_firm = new FirmRepository();  
            private IPhotosRepository _repository_photos = new PhotosRepository();  

In WebsiteRepozitory, FirmRepository and PhotosRepository classes I have:

Database1Entities _entities = new Database1Entities();

So I have 3 connections to database ? Is it wrong ? How can I solve it ?

VS2010 Professional .NET 4.0 Remote Debugging ASP Website Project


Trying to remote debug ASP website from VS2010 Pro to Windows Server 2003 machine.  Specifically, trying to debug a Web Service, but breakpoint says, "The breakpoint will not currently be hit. No symbols have been loaded for this document."  This happens for all compiled code though.  I have read this is due to missing PDB files and the work around is to manually copy them, as noted here.  Problem is, I cannot find any PDB files for my project, except referenced libraries, which I can remote debug.


  • web.config has <compilation debug="true">
  • Debugger is attached to wewp.exe process on remote server
  • Installed VS2010 remote debugger from DVD (as I can remote debug referenced libraries)

This is beyond frustrating.  I migrated my code from VS2008 .Net3.5 to VS2010 .Net4.0 to take advantage of the inherent multithreading framework.  Debugging works when using local host and was stable until deployment to test server.

Thanks in advance,


How can I be sure that my entire project is up-to-date and free of errors in VS2010?


Seems like a stupid question, but I will go to Build > Build Solution many many times and the build will succeed many many times, then I will put in a minor syntax error and the build will fail, BUT the build will not fail because of the minor syntax error; it will fail because of an unresolved type that I put in about twenty compiles ago. And then I will fix the minor syntax eror, and the compiler will still complain about the unresolved type. Here is my code:

<%@ Register TagPrefix="FTB" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>
  <form runat="server">
  Hello World!!  

Pretty simple, really. I go to Buld > Build WebApplication1 and it runs OK. Now, if I put in a minor syntax error, such as substitute "forrrrrrrm" for "form" and then try to Build Solution, it complains not about the misspelled word, but about the FreeTextBox. And then if I correct the misspelled wird, it still complains about the FreeTextBox. Which leads me to believe that Building the Solution does not check absolutely 100% everything that needs to be checked. Is there a more thorough way of compiling a program that I need to use?

is it possible to convert whole visual studio 2008 web site project to visual studio 2010 web site p


is it possible to convert whole visual studio 2008 web site project to visual studio 2010 web site project


my current project references




i have a very annoying iis problem

iis server stops working until app pool is recycled


i am hoping that new visual studio (net framework 4.0) may solve this very annoying unsolveable problem


Business Intelligence Reports Project in Visual studio 2008 ?



I wonder how to add a project template called  Intelligence Reports, something like that, to Visual studio 2008. I have SQL 2008 installed. Do I need to install some updates to get Intelligence Reports template to Visual studio 2008 ?

Thank you..

ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend