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
<PackageReference Include="Core.AspNet.Web.Mvc" Version="1.0.0.26263" />
<PackageVersion Include="Core.AspNet.Web.Mvc" Version="1.0.0.26263" />
<PackageReference Include="Core.AspNet.Web.Mvc" />
paket add Core.AspNet.Web.Mvc --version 1.0.0.26263
#r "nuget: Core.AspNet.Web.Mvc, 1.0.0.26263"
#:package Core.AspNet.Web.Mvc@1.0.0.26263
#addin nuget:?package=Core.AspNet.Web.Mvc&version=1.0.0.26263
#tool nuget:?package=Core.AspNet.Web.Mvc&version=1.0.0.26263
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 isCore.Web.Mvc. .NET ships an emptySystem.Web.dllfacade inMicrosoft.NETCore.Appand the host gives the shared framework precedence, so an app-localSystem.Web.dllis never loaded — the port therefore cannot use the original assembly names. Namespaces are unchanged, so your code andInherits=attributes are unaffected; onlyweb.configentries 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 | Versions 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. |
-
net10.0
- Core.AspNet.Web.Extensions (>= 1.0.0.26263)
- Core.AspNet.Web.Forms (>= 1.0.0.26263)
- Core.AspNet.Web.Razor (>= 1.0.0.26263)
- Core.AspNet.Web.WebPages.Base (>= 1.0.0.26263)
- Core.AspNet.Web.WebPages.Razor (>= 1.0.0.26263)
- System.Configuration.ConfigurationManager (>= 8.0.0)
- System.Runtime.Caching (>= 8.0.0)
-
net6.0
- Core.AspNet.Web.Extensions (>= 1.0.0.26263)
- Core.AspNet.Web.Forms (>= 1.0.0.26263)
- Core.AspNet.Web.Razor (>= 1.0.0.26263)
- Core.AspNet.Web.WebPages.Base (>= 1.0.0.26263)
- Core.AspNet.Web.WebPages.Razor (>= 1.0.0.26263)
- System.Configuration.ConfigurationManager (>= 8.0.0)
- System.Runtime.Caching (>= 8.0.0)
-
net8.0
- Core.AspNet.Web.Extensions (>= 1.0.0.26263)
- Core.AspNet.Web.Forms (>= 1.0.0.26263)
- Core.AspNet.Web.Razor (>= 1.0.0.26263)
- Core.AspNet.Web.WebPages.Base (>= 1.0.0.26263)
- Core.AspNet.Web.WebPages.Razor (>= 1.0.0.26263)
- System.Configuration.ConfigurationManager (>= 8.0.0)
- System.Runtime.Caching (>= 8.0.0)
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 |