I know ASP .NET MVC libraries are now being shipped with Mono but I cannot find exact version information.
Which exactly version of ASP.NET MVC is supported in the latest Mono release, Mono 2.10.1?
Copying from the release notes:
http://www.mono-project.com/Release_Notes_Mono_2.10#ASP.NET_MVC3_Support
See below for notes on Razor and
WebPages.
Although ASP.NET MVC3 is open source
and licensed under the terms of the
MS-PL license, it takes a few
dependencies on new libraries that are
not open source nor are they part of
the Microsoft.NET Framework.
At this point we do not have open
source implementations of those
libraries, so we can not ship the full
ASP.NET MVC3 stack with Mono (We still
ship ASP.NET MVC 1 and MVC 2 with Mono
for your deployment enjoyment).
This Mono release however has enough
bug fixes and patches that you will be
able to run ASP.NET MVC3 sites with
it.
Since these new dependencies were not
part of Microsoft.NET, they typically
are referenced in your project and
deployed in the bin/ directory of your
ASP.NET site. Make sure that you
remove the
Microsoft.Web.Infrastructure.dll
library from your site when deploying
to Mono, to allow Mono to use its own
implementation that integrates ASP.NET
MVC3 with Mono.
To run your web sites, use our 4.0
profile programs:
xsp4 for quick testing
mod-mono-server4.exe for Apache
hosting fastcgi-mono-server4.exe for FastCGI servers
Razor and WebPages
If you downloaded the Microsoft
binaries for ASP.NET MVC3, you will
have a few new libraries, the WebPages
framework that allows simple web sites
to be built and the Razor template
engine/
You can use both of those binaries
with Mono 2.10.
It is possible to get up and running
with Razor and cshtml just by
installing this release and running
xsp4 on any directory that contains
the bin/ assemblies and creating a
.cshtml file.
Just to be more concise:
Mono 2.10 ships with ASP.NET MVC2 (and also MVC1) out of the box. It is the actual Microsoft code.
ASP.NET MVC 3 should work if you include the assemblies in your project (See the release notes).
MonoDevelop will allow you to work with all of these but the 'new solution' scaffolding for ASP.NET MVC still builds the skeleton of an ASP.NET MVC1 app.
Related
A lot of release notes for Visual Studio 2012 talk about .NET 4.5 and MVC4, but I can't tell if MVC4 is actually part of the .NET 4.5 release. Anybody know for sure? I would love not to have to install MVC separately on my server.
No, ASP.NET MVC 4 is baked into VS2012, exactly the same way ASP.NET MVC 3 was baked into VS2010 but not part of .NET 4.0 (there was a separate download that you could install on your servers). But there will also be a separate download of ASP.NET MVC 4 for VS2010 SP1 in which you obviously won't be able to use the .NET 4.5 specific features, such as async/await, but you will still be able to develop an ASP.NET MVC 4 application and target .NET 4.0.
ASP.NET MVC has made a point of NOT being tied to a particular .NET incarnation. That way, you can use the latest and greatest irrespective of what .NET version your hosting provider uses.
If the provider supports ASP.NET, that's all you need to know.
For this precise purpose, ASP.NET MVC is bin-deployable, meaning you can deploy the MVC dlls yourself, along your application - without requiring special rights from the hosting provider.
Phil Haack has a great article describing how to bin-deploy MVC3. There's even tooling support in VS for this scenario!
I assume the workflow for newer MVC incarnations is similar.
I am working with Visual Studio 2010 - SP1
I installed ASP.NET MVC 4.0 RC on my box. The option "Use HTML5 semantic markup" is missing in all the project templates (empty application, Web Api, Internet app, Intranet App) when creating a new project of ASP.NET MVC 4.0 Web Application project type.
Remember, I have not installed asp.net mvc 4 beta prior to RC installation. However, this option is present when creating an asp.net mvc 3.0 web application.
You have to install this extension :
Web Standards Update for Microsoft Visual Studio 2010 SP1
Also consider installing Web Essentials. It add a tons of useful tools related to web development.
My question is very simple. Can I run an ASP.NET MVC application on shared servers that has installed ASP.NET 3.5 but not MVC?
If this is possible could you tell me how?
You just need to include System.Web.dll in the bin folder and it should work fine (and maybe in the dll folder for routing. I'll check out for exact article for this in a moment).
Here's a link with proper a TODO.
Most interesting part:
With the release of ASP.NET MVC Beta, the assemblies distributed with ASP.NET MVC are automatically installed into the GAC.
System.Web.Mvc
System.Web.Routing
System.Web.Abstractions
While developing an application locally, this isn’t a problem. But when you are ready to deploy your application to a hosting provider, this might well be a problem if the hoster does not have the ASP.NET MVC assemblies installed in the GAC.
Fortunately, ASP.NET MVC is still bin-deployable. If your hosting provider has ASP.NET 3.5 SP1 installed, then you’ll only need to include the MVC DLL. If your hosting provider is still on ASP.NET 3.5, then you’ll need to deploy all three. It turns out that it’s really easy to do so.
Is it possible to run the new ASP.NET MVC 2 Preview 2 on mono?
Yes. It was a bit tricky to compile from the ASP.NET MVC sources, but it works! See the screenshot.
However, this is not yet integrated/distributed with Mono. We will wait until the final release. If you want, I can upload the System.Web.Mvc.dll (2.0.0.0) I compiled and you can test it out (it needs to go in your app's bin folder until properly signed).
Update: The ASP.NET MVC2 code is now integrated in Mono (subversion trunk).
My IT folks don't like to install software on their precious servers unless they must. To that extent, does the server that serves my ASP.NET MVC application need to have the MVC 1.0 Framework on it in addition to .NET 3.5 sp 1 Framework?
Nope. You can deploy the System.Web.Mvc.dll to your application's bin directory if MVC has not been installed on the server. The only requirement is that the server have .NET Framework 3.5 (preferably with SP1)
Phil Haack put together an article on bin deploying MVC apps here. It mentions the ASP.Net MVC beta drop, but it still works just fine (given the caveat that .Net 3.5's installed).