diff --git a/build.proj b/build.proj
index ea5cdb8a2..f99c6643b 100644
--- a/build.proj
+++ b/build.proj
@@ -28,6 +28,7 @@ of patent rights can be found in the PATENTS file in the same directory.
+
diff --git a/src/React.Router.Mvc4/React.Router.Mvc4.csproj b/src/React.Router.Mvc4/React.Router.Mvc4.csproj
new file mode 100644
index 000000000..58d7b9a1f
--- /dev/null
+++ b/src/React.Router.Mvc4/React.Router.Mvc4.csproj
@@ -0,0 +1,47 @@
+
+
+
+ React Router support for ReactJS.NET.
+ Copyright 2014-Present Facebook, Inc
+ ReactJS.NET Router
+ Daniel Lo Nigro, Gunnar Már Óttarsson
+ net451
+ true
+ React.Router.Mvc4
+ $(DefineConstants);LEGACYASPNET
+ ../key.snk
+ true
+ true
+ React.Router.Mvc4
+ asp.net;mvc;asp;javascript;js;react;facebook;reactjs;babel;router;react router
+ http://reactjs.net/img/logo_64.png
+ http://reactjs.net/
+ https://github.com/reactjs/React.NET#licence
+ false
+
+
+
+
+
+
+
+ true
+ content\
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
\ No newline at end of file
diff --git a/src/React.Router/HtmlHelperExtensions.cs b/src/React.Router/HtmlHelperExtensions.cs
index cabd14c6f..2c33eb8aa 100644
--- a/src/React.Router/HtmlHelperExtensions.cs
+++ b/src/React.Router/HtmlHelperExtensions.cs
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (c) 2014-Present, Facebook, Inc.
* All rights reserved.
*
@@ -8,12 +8,9 @@
*/
using System;
-using React.Exceptions;
-using React.TinyIoC;
-#if NET451
+#if LEGACYASPNET
using System.Web;
-using System.Web.Mvc;
using HttpResponse = System.Web.HttpResponseBase;
using IHtmlHelper = System.Web.Mvc.HtmlHelper;
#else
diff --git a/src/React.Router/React.Router.csproj b/src/React.Router/React.Router.csproj
index c03204a80..9bcf26730 100644
--- a/src/React.Router/React.Router.csproj
+++ b/src/React.Router/React.Router.csproj
@@ -5,7 +5,7 @@
Copyright 2014-Present Facebook, Inc
ReactJS.NET Router
Daniel Lo Nigro, Gunnar Már Óttarsson
- net451;netstandard1.6
+ netstandard2.0
true
React.Router
../key.snk
@@ -19,10 +19,6 @@
false
-
- TRACE;DEBUG;ASPNETCORE;NET451
-
-
@@ -32,15 +28,9 @@
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/src/React.Router/ReactRouterComponent.cs b/src/React.Router/ReactRouterComponent.cs
index 1d90b00ab..44c4bb17f 100644
--- a/src/React.Router/ReactRouterComponent.cs
+++ b/src/React.Router/ReactRouterComponent.cs
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (c) 2014-Present, Facebook, Inc.
* All rights reserved.
*
@@ -7,9 +7,7 @@
* of patent rights can be found in the PATENTS file in the same directory.
*/
-using JavaScriptEngineSwitcher.Core;
using Newtonsoft.Json;
-using React.Exceptions;
namespace React.Router
{
diff --git a/src/React.Router/ReactRouterException.cs b/src/React.Router/ReactRouterException.cs
index 419397be4..20d521954 100644
--- a/src/React.Router/ReactRouterException.cs
+++ b/src/React.Router/ReactRouterException.cs
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (c) 2014-Present, Facebook, Inc.
* All rights reserved.
*
@@ -15,7 +15,7 @@ namespace React.Router
///
/// React Router Exception
///
-#if NET451
+#if LEGACYASPNET
[Serializable]
#endif
public class ReactRouterException : Exception
@@ -38,7 +38,7 @@ public ReactRouterException(string message, Exception innerException)
: base(message, innerException) { }
-#if NET451
+#if LEGACYASPNET
///
/// Used by deserialization
///
diff --git a/src/React.Router/SetServerResponse.cs b/src/React.Router/SetServerResponse.cs
index 3f225a3bc..ce7065e90 100644
--- a/src/React.Router/SetServerResponse.cs
+++ b/src/React.Router/SetServerResponse.cs
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (c) 2014-Present, Facebook, Inc.
* All rights reserved.
*
@@ -7,7 +7,7 @@
* of patent rights can be found in the PATENTS file in the same directory.
*/
-#if NET451
+#if LEGACYASPNET
using HttpResponse = System.Web.HttpResponseBase;
#else
using HttpResponse = Microsoft.AspNetCore.Http.HttpResponse;
@@ -45,7 +45,7 @@ public static void ModifyResponse(RoutingContext context, HttpResponse Response)
{
if (statusCode == 301)
{
-#if NET451
+#if LEGACYASPNET
Response.RedirectPermanent(context.url);
#else
Response.Redirect(context.url, true);
diff --git a/src/React.sln b/src/React.sln
index 1e44bdf55..7e48cfad7 100644
--- a/src/React.sln
+++ b/src/React.sln
@@ -68,6 +68,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "React.AspNet.Middleware", "
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "React.Sample.CoreMvc", "React.Sample.CoreMvc\React.Sample.CoreMvc.csproj", "{305918EF-AD05-4743-9B3A-DB1CE84D467E}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "React.Router.Mvc4", "React.Router.Mvc4\React.Router.Mvc4.csproj", "{2170D912-86E9-4CE3-8DA4-E1DE8D958E63}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -142,6 +144,10 @@ Global
{305918EF-AD05-4743-9B3A-DB1CE84D467E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{305918EF-AD05-4743-9B3A-DB1CE84D467E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{305918EF-AD05-4743-9B3A-DB1CE84D467E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2170D912-86E9-4CE3-8DA4-E1DE8D958E63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2170D912-86E9-4CE3-8DA4-E1DE8D958E63}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2170D912-86E9-4CE3-8DA4-E1DE8D958E63}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2170D912-86E9-4CE3-8DA4-E1DE8D958E63}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -164,6 +170,7 @@ Global
{D076273B-C5EA-47C7-923D-523E4C5EE30D} = {681C45FB-103C-48BC-B992-20C5B6B78F92}
{7E1C3999-1982-476D-9307-12B30737B41E} = {681C45FB-103C-48BC-B992-20C5B6B78F92}
{305918EF-AD05-4743-9B3A-DB1CE84D467E} = {A51CE5B6-294F-4D39-B32B-BF08DAF9B40B}
+ {2170D912-86E9-4CE3-8DA4-E1DE8D958E63} = {681C45FB-103C-48BC-B992-20C5B6B78F92}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {DCF4A41E-C60D-4086-98A9-6F8508D7E8D0}
diff --git a/tests/React.Tests/React.Tests.csproj b/tests/React.Tests/React.Tests.csproj
index 8f21419d2..5387decc2 100644
--- a/tests/React.Tests/React.Tests.csproj
+++ b/tests/React.Tests/React.Tests.csproj
@@ -18,7 +18,7 @@
-
+