Core.AspNet.Web.Mvc 1.0.0.26263

dotnet add package Core.AspNet.Web.Mvc --version 1.0.0.26263
                    
NuGet\Install-Package Core.AspNet.Web.Mvc -Version 1.0.0.26263
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Core.AspNet.Web.Mvc" Version="1.0.0.26263" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Core.AspNet.Web.Mvc" Version="1.0.0.26263" />
                    
Directory.Packages.props
<PackageReference Include="Core.AspNet.Web.Mvc" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Core.AspNet.Web.Mvc --version 1.0.0.26263
                    
#r "nuget: Core.AspNet.Web.Mvc, 1.0.0.26263"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Core.AspNet.Web.Mvc@1.0.0.26263
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Core.AspNet.Web.Mvc&version=1.0.0.26263
                    
Install as a Cake Addin
#tool nuget:?package=Core.AspNet.Web.Mvc&version=1.0.0.26263
                    
Install as a Cake Tool

AspNetCore.Web.Mvc

ASP.NET MVC 4 on .NET 10 — controllers, Razor views, model binding, filters, TempData, async actions — plus attribute routing supplied by this port.

<PackageReference Include="AspNetCore.Web.Mvc" Version="1.0.0" />

Brings AspNetCore.Web.Razor, .WebPages, .WebPages.Razor and .Infrastructure with it. You still need AspNetCore.Web.Hosting.Kestrel to host the application.

Assembly vs package name. The package is AspNetCore.Web.Mvc; the assembly inside it is Core.Web.Mvc. .NET ships an empty System.Web.dll facade in Microsoft.NETCore.App and the host gives the shared framework precedence, so an app-local System.Web.dll is never loaded — the port therefore cannot use the original assembly names. Namespaces are unchanged, so your code and Inherits= attributes are unaffected; only web.config entries that name an assembly need updating.

Registration

Unchanged from what you already have, in Global.asax:

void Application_Start (object sender, EventArgs e)
{
    RouteTable.Routes.MapMvcAttributeRoutes ();     // BEFORE the conventional routes

    RouteTable.Routes.MapRoute ("Default", "{controller}/{action}/{id}",
                                new { controller = "Home", action = "Index", id = UrlParameter.Optional });
}

Razor views additionally need a Views/web.config naming the host factory — copy it from the MVC sample in the repository.

Attribute routing

[Route] and [RoutePrefix] are an MVC 5 feature and are written by this port rather than ported:

[RoutePrefix ("catalog")]
public class CatalogController : Controller
{
    [Route ("")]                              // /catalog
    public ActionResult Index () { ... }

    [Route ("{id:int}")]                      // /catalog/42
    public ActionResult Details (int id) { ... }

    [HttpPost, Route ("{id:int}")]            // same URL, POST only
    public ActionResult Update (int id) { ... }

    [Route ("~/legacy")]                      // "~/" escapes the prefix
    public ActionResult Legacy () { ... }
}

Inline constraints: int, long, bool, guid, decimal, double, float, datetime, alpha, required, length, minlength, maxlength, min, max, range, regex. Several may apply to one parameter ({s:alpha:minlength(3)}), and you can add your own to InlineRouteConstraintResolver.Constraints.

Ordering within attribute routes is by specificity — literal beats constrained parameter beats plain parameter beats catch-all — so /catalog/new reaches New () wherever it sits in the file.

MapMvcAttributeRoutes () must be called before your conventional routes. Routes match in order, and {controller}/{action}/{id} matches nearly everything.

As in MVC 5, once a controller has attribute routes its actions are no longer reachable through conventional routes — otherwise the constraints you declared could be bypassed.

Version

MVC 4 with Razor v2. No view components, no tag helpers, no MVC 5 filter overrides. For bundling, add AspNetCore.Web.Optimization.

Documentation

PORTING-GUIDE.md (step-by-step migration from IIS) and LIMITATIONS.md (what differs from ASP.NET on .NET Framework, and why) ship in the repository.

Licence

Apache-2.0 AND MIT. Microsoft released the ASP.NET Web Stack - the sources this is built from - under the Apache License 2.0. Mono's AssemblyInfo.cs and the code written for this port are MIT. Both are permissive and compatible; the compound expression means the assembly contains code under both, not that you may pick one. THIRD-PARTY-NOTICES.md ships in the package and says which part is which.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0.26263 47 9/20/2026
1.0.0.26262 42 9/19/2026