views:

1908

answers:

8

I have problems deploying MVC2 application to my hosting. It shows the following error:

Could not load type 'System.Web.Mvc.UrlParameter' from assembly 'System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

It looks like it does not understand the new "optional URL parameters" feature of MVC2. This is just a simple test application I created with "New Project" wizard in VWD 2008. It works ok localy both in IIS and Visual Studio web servers. MVC1 web sites are working ok on the hosting server. I've contacted the hosting support and they installed MVC2 but the problem still exists. The web site is working in ASP.NET 2.0 integrated pipeline mode.

Does anyone know why it is happening?

+1  A: 

You should remove MVC2 RC then download and install MVC2 RC2.

MinhNguyen
+1  A: 

FIXED:

Change id = UrlParameter.Optional to id = "" in Global.asax.

This change at least gets the site to render.

Trip
+1  A: 

I also have this problem when deploying my MVC2 app to my hosts. Has anybody come up with a cause for this.

Changing the UrlParameter.Optional to a fixed value changes the behaviour of the app, so, I'm a little bit unhappy doing this.

Courtesy of Phil Haack (I'd love to take credit) but try bin deploying the System.Web.Mvc assembly by going to the properties of the reference to System.Web.Mvc and change Copy Local to true.

Dead impressed that Phil invested the time and energy to help on this.

Simon Hazelton
CopyLocal was the winner for me, thanks.
TreeUK
A: 

My application threw this exception when it couldn't find a dll file.

I use Microsoft.Web.Mvc.AspNet4.dll from ASP.NET MVC 2 Futures. I had the dll file on my workstation, but hadn't deployed it onto my web server.

Zack Peterson
A: 

I tried Pete's solution to change id = UrlParameter.Optional to id = "" in Global.asax.

I am not sure what the implications are though.

(Re)installing MVC2 RC2 did not help.

Kiwiakos
A: 

What ya gotta do is copy the MVC dll locally. In visual studio's solution explorer do this: Click the Show All Files button

alt text

The drop down the references section and select the System.Web.Mvc reference

S

Then in the properties window change Copy Local to true.

alt text

keynone
A: 

I got the error but I'm using MVC2 with .NET Framework 3.5 and that Class is targeted to .NET Framework 4.0.

I by mistake downloaded and assembly targeting .NET Framework 4.0 :(

JeremySpouken