diff --git a/Quartzmin.sln b/Quartzmin.sln
index 8e421a0..d608f17 100644
--- a/Quartzmin.sln
+++ b/Quartzmin.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28010.2050
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29326.143
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Quartzmin", "Source\Quartzmin\Quartzmin.csproj", "{E14F97E0-8B3B-43A2-9820-2F4B94497253}"
EndProject
@@ -19,7 +19,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetCoreSelfHost", "Source\E
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormSelfHost", "Source\Examples\WinFormSelfHost\WinFormSelfHost.csproj", "{C54F4403-F40A-497C-B3A7-D1F1E1830D52}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNetCoreDocker", "Source\Examples\AspNetCoreDocker\AspNetCoreDocker.csproj", "{68D816F2-21BF-4376-ABF4-70390E4783C5}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCoreDocker", "Source\Examples\AspNetCoreDocker\AspNetCoreDocker.csproj", "{68D816F2-21BF-4376-ABF4-70390E4783C5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNetCore3", "Source\Examples\AspNetCore3\AspNetCore3.csproj", "{3B2A3329-3BBB-4C6B-A42A-07EE565A2EB8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -59,6 +61,10 @@ Global
{68D816F2-21BF-4376-ABF4-70390E4783C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{68D816F2-21BF-4376-ABF4-70390E4783C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{68D816F2-21BF-4376-ABF4-70390E4783C5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3B2A3329-3BBB-4C6B-A42A-07EE565A2EB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3B2A3329-3BBB-4C6B-A42A-07EE565A2EB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3B2A3329-3BBB-4C6B-A42A-07EE565A2EB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3B2A3329-3BBB-4C6B-A42A-07EE565A2EB8}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -69,43 +75,9 @@ Global
{7CF90DB9-37C4-4704-910E-BF1DB8AB79F1} = {B669A725-70A9-4E80-BAC7-9765A14CAAA4}
{C54F4403-F40A-497C-B3A7-D1F1E1830D52} = {B669A725-70A9-4E80-BAC7-9765A14CAAA4}
{68D816F2-21BF-4376-ABF4-70390E4783C5} = {B669A725-70A9-4E80-BAC7-9765A14CAAA4}
+ {3B2A3329-3BBB-4C6B-A42A-07EE565A2EB8} = {B669A725-70A9-4E80-BAC7-9765A14CAAA4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0357313D-BD09-4C5D-AF0D-439B3BD33B5A}
EndGlobalSection
- GlobalSection(TeamFoundationVersionControl) = preSolution
- SccNumberOfProjects = 9
- SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
- SccTeamFoundationServer = http://tfs/defaultcollection
- SccLocalPath0 = .
- SccProjectUniqueName1 = Source\\Quartzmin\\Quartzmin.csproj
- SccProjectName1 = Source/Quartzmin
- SccLocalPath1 = Source\\Quartzmin
- SccProjectUniqueName2 = Source\\Quartz.Plugins.RecentHistory\\Quartz.Plugins.RecentHistory.csproj
- SccProjectName2 = Source/Quartz.Plugins.RecentHistory
- SccLocalPath2 = Source\\Quartz.Plugins.RecentHistory
- SccProjectUniqueName3 = Source\\Quartzmin.SelfHost\\Quartzmin.SelfHost.csproj
- SccProjectName3 = Source/Quartzmin.SelfHost
- SccLocalPath3 = Source\\Quartzmin.SelfHost
- SccProjectUniqueName4 = Source\\Examples\\NetCoreSelfHost\\NetCoreSelfHost.csproj
- SccProjectTopLevelParentUniqueName4 = Quartzmin.sln
- SccProjectName4 = Source/Examples/NetCoreSelfHost
- SccLocalPath4 = Source\\Examples\\NetCoreSelfHost
- SccProjectUniqueName5 = Source\\Examples\\AspNetCoreHost\\AspNetCoreHost.csproj
- SccProjectTopLevelParentUniqueName5 = Quartzmin.sln
- SccProjectName5 = Source/Examples/AspNetCoreHost
- SccLocalPath5 = Source\\Examples\\AspNetCoreHost
- SccProjectUniqueName6 = Source\\Examples\\AspNetWebHost\\AspNetWebHost.csproj
- SccProjectTopLevelParentUniqueName6 = Quartzmin.sln
- SccProjectName6 = Source/Examples/AspNetWebHost
- SccLocalPath6 = Source\\Examples\\AspNetWebHost
- SccProjectUniqueName7 = Source\\Examples\\WinFormSelfHost\\WinFormSelfHost.csproj
- SccProjectTopLevelParentUniqueName7 = Quartzmin.sln
- SccProjectName7 = Source/Examples/WinFormSelfHost
- SccLocalPath7 = Source\\Examples\\WinFormSelfHost
- SccProjectUniqueName8 = Source\\Examples\\AspNetCoreDocker\\AspNetCoreDocker.csproj
- SccProjectTopLevelParentUniqueName8 = Quartzmin.sln
- SccProjectName8 = Source/Examples/AspNetCoreDocker
- SccLocalPath8 = Source\\Examples\\AspNetCoreDocker
- EndGlobalSection
EndGlobal
diff --git a/Source/Examples/AspNetCore3/AspNetCore3.csproj b/Source/Examples/AspNetCore3/AspNetCore3.csproj
new file mode 100644
index 0000000..72bbec6
--- /dev/null
+++ b/Source/Examples/AspNetCore3/AspNetCore3.csproj
@@ -0,0 +1,20 @@
+
+
+
+ netcoreapp3.1
+ InProcess
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Examples/AspNetCore3/Program.cs b/Source/Examples/AspNetCore3/Program.cs
new file mode 100644
index 0000000..497ac5b
--- /dev/null
+++ b/Source/Examples/AspNetCore3/Program.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.Logging;
+using Quartzmin;
+
+namespace AspNetCore3
+{
+ public class Program
+ {
+ public static void Main( string[] args )
+ {
+ var scheduler = DemoScheduler.Create().Result;
+
+ var host = WebHost.CreateDefaultBuilder( args ).Configure( app =>
+ {
+ app.UseQuartzmin( new QuartzminOptions() { Scheduler = scheduler } );
+
+ } ).ConfigureServices( services =>
+ {
+ services.AddQuartzmin();
+
+ } )
+ .Build();
+
+ host.Start();
+
+ while ( !scheduler.IsShutdown )
+ Thread.Sleep( 250 );
+ }
+ }
+}
diff --git a/Source/Examples/AspNetCore3/appsettings.Development.json b/Source/Examples/AspNetCore3/appsettings.Development.json
new file mode 100644
index 0000000..e203e94
--- /dev/null
+++ b/Source/Examples/AspNetCore3/appsettings.Development.json
@@ -0,0 +1,9 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Debug",
+ "System": "Information",
+ "Microsoft": "Information"
+ }
+ }
+}
diff --git a/Source/Examples/AspNetCore3/appsettings.json b/Source/Examples/AspNetCore3/appsettings.json
new file mode 100644
index 0000000..def9159
--- /dev/null
+++ b/Source/Examples/AspNetCore3/appsettings.json
@@ -0,0 +1,8 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Warning"
+ }
+ },
+ "AllowedHosts": "*"
+}
diff --git a/Source/Quartzmin/ApplicationBuilderExtensions.cs b/Source/Quartzmin/ApplicationBuilderExtensions.cs
index dfee55d..f536050 100644
--- a/Source/Quartzmin/ApplicationBuilderExtensions.cs
+++ b/Source/Quartzmin/ApplicationBuilderExtensions.cs
@@ -1,4 +1,4 @@
-#if NETSTANDARD
+#if ( NETSTANDARD || NETCOREAPP )
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Diagnostics;
@@ -13,65 +13,85 @@ namespace Quartzmin
{
public static class ApplicationBuilderExtensions
{
- public static void UseQuartzmin(this IApplicationBuilder app, QuartzminOptions options, Action configure = null)
+ public static void UseQuartzmin( this IApplicationBuilder app, QuartzminOptions options, Action configure = null )
{
- options = options ?? throw new ArgumentNullException(nameof(options));
+ options = options ?? throw new ArgumentNullException( nameof( options ) );
- app.UseFileServer(options);
+ app.UseFileServer( options );
- var services = Services.Create(options);
- configure?.Invoke(services);
+ var services = Services.Create( options );
+ configure?.Invoke( services );
- app.Use(async (context, next) =>
+ app.Use( async ( context, next ) =>
+ {
+ context.Items[typeof( Services )] = services;
+ await next.Invoke();
+ } );
+
+ app.UseExceptionHandler( errorApp =>
+ {
+ errorApp.Run( async context =>
+ {
+ var ex = context.Features.Get().Error;
+ context.Response.StatusCode = 500;
+ context.Response.ContentType = "text/html";
+ await context.Response.WriteAsync( services.ViewEngine.ErrorPage( ex ) );
+ } );
+ } );
+
+#if NETCOREAPP
+ app.UseRouting();
+ app.UseEndpoints( endpoints =>
{
- context.Items[typeof(Services)] = services;
- await next.Invoke();
- });
-
- app.UseExceptionHandler(errorApp =>
- {
- errorApp.Run(async context =>
- {
- var ex = context.Features.Get().Error;
- context.Response.StatusCode = 500;
- context.Response.ContentType = "text/html";
- await context.Response.WriteAsync(services.ViewEngine.ErrorPage(ex));
- });
- });
-
- app.UseMvc(routes =>
+ endpoints.MapControllerRoute( nameof( Quartzmin ), "{controller=Scheduler}/{action=Index}" );
+ } );
+#else
+ app.UseMvc( routes =>
{
routes.MapRoute(
- name: nameof(Quartzmin),
- template: "{controller=Scheduler}/{action=Index}");
- });
+ name: nameof( Quartzmin ),
+ template: "{controller=Scheduler}/{action=Index}" );
+ } );
+#endif
}
- private static void UseFileServer(this IApplicationBuilder app, QuartzminOptions options)
+ private static void UseFileServer( this IApplicationBuilder app, QuartzminOptions options )
{
IFileProvider fs;
- if (string.IsNullOrEmpty(options.ContentRootDirectory))
- fs = new ManifestEmbeddedFileProvider(Assembly.GetExecutingAssembly(), "Content");
+ if ( string.IsNullOrEmpty( options.ContentRootDirectory ) )
+ fs = new ManifestEmbeddedFileProvider( Assembly.GetExecutingAssembly(), "Content" );
else
- fs = new PhysicalFileProvider(options.ContentRootDirectory);
+ fs = new PhysicalFileProvider( options.ContentRootDirectory );
var fsOptions = new FileServerOptions()
{
- RequestPath = new PathString("/Content"),
+ RequestPath = new PathString( "/Content" ),
EnableDefaultFiles = false,
EnableDirectoryBrowsing = false,
FileProvider = fs
};
- app.UseFileServer(fsOptions);
+ app.UseFileServer( fsOptions );
}
- public static void AddQuartzmin(this IServiceCollection services)
+#if NETCOREAPP
+ public static void AddQuartzmin( this IServiceCollection services )
{
- services.AddMvcCore()
- .AddApplicationPart(Assembly.GetExecutingAssembly())
- .AddJsonFormatters();
+ services.AddControllers( options =>
+ {
+ //options.EnableEndpointRouting = false;
+ } )
+ .AddApplicationPart( Assembly.GetExecutingAssembly() )
+ .AddNewtonsoftJson();
}
+#else
+ public static void AddQuartzmin( this IServiceCollection services )
+ {
+ services.AddMvcCore()
+ .AddApplicationPart( Assembly.GetExecutingAssembly() )
+ .AddJsonFormatters();
+ }
+#endif
}
}
diff --git a/Source/Quartzmin/Controllers/CalendarsController.cs b/Source/Quartzmin/Controllers/CalendarsController.cs
index 59bae37..4b93833 100644
--- a/Source/Quartzmin/Controllers/CalendarsController.cs
+++ b/Source/Quartzmin/Controllers/CalendarsController.cs
@@ -7,7 +7,7 @@ using System.Linq;
using System.Threading.Tasks;
#region Target-Specific Directives
-#if NETSTANDARD
+#if ( NETSTANDARD || NETCOREAPP )
using Microsoft.AspNetCore.Mvc;
#endif
#if NETFRAMEWORK
diff --git a/Source/Quartzmin/Controllers/ExecutionsController.cs b/Source/Quartzmin/Controllers/ExecutionsController.cs
index 2635871..8a39e59 100644
--- a/Source/Quartzmin/Controllers/ExecutionsController.cs
+++ b/Source/Quartzmin/Controllers/ExecutionsController.cs
@@ -9,7 +9,7 @@ using System.Threading.Tasks;
using System.Globalization;
#region Target-Specific Directives
-#if NETSTANDARD
+#if ( NETSTANDARD || NETCOREAPP )
using Microsoft.AspNetCore.Mvc;
#endif
#if NETFRAMEWORK
diff --git a/Source/Quartzmin/Controllers/HistoryController.cs b/Source/Quartzmin/Controllers/HistoryController.cs
index cf0e84d..7be408b 100644
--- a/Source/Quartzmin/Controllers/HistoryController.cs
+++ b/Source/Quartzmin/Controllers/HistoryController.cs
@@ -5,7 +5,7 @@ using System.Collections.Generic;
using System.Threading.Tasks;
#region Target-Specific Directives
-#if NETSTANDARD
+#if ( NETSTANDARD || NETCOREAPP )
using Microsoft.AspNetCore.Mvc;
#endif
#if NETFRAMEWORK
diff --git a/Source/Quartzmin/Controllers/JobDataMapController.cs b/Source/Quartzmin/Controllers/JobDataMapController.cs
index e77104e..ac4e71a 100644
--- a/Source/Quartzmin/Controllers/JobDataMapController.cs
+++ b/Source/Quartzmin/Controllers/JobDataMapController.cs
@@ -9,7 +9,7 @@ using System.Threading.Tasks;
using System.Threading;
#region Target-Specific Directives
-#if NETSTANDARD
+#if ( NETSTANDARD || NETCOREAPP )
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Http.Features;
#endif
@@ -37,8 +37,12 @@ namespace Quartzmin.Controllers
}
catch (JsonSerializationException ex) when (ex.Message.StartsWith("Could not create an instance of type"))
{
- return new BadRequestResult() { ReasonPhrase = "Unknown Type Handler" };
- }
+#if NETCOREAPP
+ return new BadRequestResult();
+#else
+ return new BadRequestResult() { ReasonPhrase = "Unknown Type Handler" };
+#endif
+ }
var dataMapForm = (await formData.GetJobDataMapForm(includeRowIndex: false)).SingleOrDefault(); // expected single row
diff --git a/Source/Quartzmin/Controllers/JobsController.cs b/Source/Quartzmin/Controllers/JobsController.cs
index 5b5b527..f561c74 100644
--- a/Source/Quartzmin/Controllers/JobsController.cs
+++ b/Source/Quartzmin/Controllers/JobsController.cs
@@ -9,7 +9,7 @@ using System.Linq;
using System.Threading.Tasks;
#region Target-Specific Directives
-#if NETSTANDARD
+#if ( NETSTANDARD || NETCOREAPP )
using Microsoft.AspNetCore.Mvc;
#endif
#if NETFRAMEWORK
diff --git a/Source/Quartzmin/Controllers/PageControllerBase.cs b/Source/Quartzmin/Controllers/PageControllerBase.cs
index 93794d3..14b40cb 100644
--- a/Source/Quartzmin/Controllers/PageControllerBase.cs
+++ b/Source/Quartzmin/Controllers/PageControllerBase.cs
@@ -5,19 +5,20 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Quartzmin.Models;
+using Quartzmin.Helpers;
using Quartz;
namespace Quartzmin.Controllers
{
- #region Target-Specific Directives
+ #region Target-Specific Directives
-#if NETSTANDARD
+#if ( NETSTANDARD || NETCOREAPP )
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
- public abstract partial class PageControllerBase : Microsoft.AspNetCore.Mvc.ControllerBase
+ public abstract partial class PageControllerBase : Microsoft.AspNetCore.Mvc.ControllerBase
{
private static readonly JsonSerializerSettings _serializerSettings = new JsonSerializerSettings()
{
@@ -26,7 +27,8 @@ namespace Quartzmin.Controllers
protected Services Services => (Services) Request.HttpContext.Items[typeof(Services)];
protected string GetRouteData(string key) => RouteData.Values[key].ToString();
- protected IActionResult Json(object content) => new JsonResult(content, _serializerSettings);
+ protected IActionResult Json( object content ) => new JsonResult( content, _serializerSettings );
+
protected IActionResult NotModified() => new StatusCodeResult(304);
@@ -83,9 +85,9 @@ namespace Quartzmin.Controllers
}
#endif
- #endregion
+#endregion
- public abstract partial class PageControllerBase
+ public abstract partial class PageControllerBase
{
protected IScheduler Scheduler => Services.Scheduler;
diff --git a/Source/Quartzmin/Controllers/SchedulerController.cs b/Source/Quartzmin/Controllers/SchedulerController.cs
index baa46a0..758017f 100644
--- a/Source/Quartzmin/Controllers/SchedulerController.cs
+++ b/Source/Quartzmin/Controllers/SchedulerController.cs
@@ -10,7 +10,7 @@ using System.Threading.Tasks;
using System.Globalization;
#region Target-Specific Directives
-#if NETSTANDARD
+#if ( NETSTANDARD || NETCOREAPP )
using Microsoft.AspNetCore.Mvc;
#endif
#if NETFRAMEWORK
diff --git a/Source/Quartzmin/Controllers/TriggersController.cs b/Source/Quartzmin/Controllers/TriggersController.cs
index 0ad8d60..c69dbd0 100644
--- a/Source/Quartzmin/Controllers/TriggersController.cs
+++ b/Source/Quartzmin/Controllers/TriggersController.cs
@@ -9,7 +9,7 @@ using System.Linq;
using System.Threading.Tasks;
#region Target-Specific Directives
-#if NETSTANDARD
+#if ( NETSTANDARD || NETCOREAPP )
using Microsoft.AspNetCore.Mvc;
#endif
#if NETFRAMEWORK
diff --git a/Source/Quartzmin/Extensions.cs b/Source/Quartzmin/Extensions.cs
index 9fbe948..bb0d5b2 100644
--- a/Source/Quartzmin/Extensions.cs
+++ b/Source/Quartzmin/Extensions.cs
@@ -13,7 +13,7 @@ using Quartz.Impl.Matchers;
using Quartz.Plugins.RecentHistory;
#region Target-Specific Directives
-#if NETSTANDARD
+#if ( NETSTANDARD || NETCOREAPP )
using HttpRequest = Microsoft.AspNetCore.Http.HttpRequest;
#endif
#if NETFRAMEWORK
@@ -68,8 +68,8 @@ namespace Quartzmin
public static string ReadAsString(this HttpRequest request)
{
-#if NETSTANDARD
- using (var ms = new MemoryStream())
+#if ( NETSTANDARD || NETCOREAPP )
+ using ( var ms = new MemoryStream())
{
request.Body.CopyTo(ms);
return Encoding.UTF8.GetString(ms.ToArray());
diff --git a/Source/Quartzmin/Helpers/JobDataMapRequest.cs b/Source/Quartzmin/Helpers/JobDataMapRequest.cs
index bf7af68..044ff87 100644
--- a/Source/Quartzmin/Helpers/JobDataMapRequest.cs
+++ b/Source/Quartzmin/Helpers/JobDataMapRequest.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Threading.Tasks;
#region Target-Specific Directives
-#if NETSTANDARD
+#if ( NETSTANDARD || NETCOREAPP )
using HttpRequest = Microsoft.AspNetCore.Http.HttpRequest;
#endif
#if NETFRAMEWORK
@@ -57,8 +57,8 @@ namespace Quartzmin.Helpers
return field.Substring(n + 1);
}
-#if NETSTANDARD
- public static Task>> GetFormData(this HttpRequest request)
+#if ( NETSTANDARD || NETCOREAPP )
+ public static Task>> GetFormData(this HttpRequest request)
{
var result = new List>();
diff --git a/Source/Quartzmin/Helpers/JsonErrorResponse.cs b/Source/Quartzmin/Helpers/JsonErrorResponse.cs
index 02650b0..ca167d1 100644
--- a/Source/Quartzmin/Helpers/JsonErrorResponse.cs
+++ b/Source/Quartzmin/Helpers/JsonErrorResponse.cs
@@ -1,14 +1,18 @@
namespace Quartzmin.Helpers
{
-#if NETSTANDARD
+#if (NETSTANDARD || NETCOREAPP)
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
+ using Newtonsoft.Json.Serialization;
public class JsonErrorResponseAttribute : ActionFilterAttribute
{
- static readonly JsonSerializerSettings _serializerSettings = new JsonSerializerSettings();
+ private static readonly JsonSerializerSettings _serializerSettings = new JsonSerializerSettings()
+ {
+ ContractResolver = new DefaultContractResolver(), // PascalCase as default
+ };
public override void OnActionExecuted(ActionExecutedContext context)
{
diff --git a/Source/Quartzmin/Helpers/JsonPascalCaseNamingPolicy.cs b/Source/Quartzmin/Helpers/JsonPascalCaseNamingPolicy.cs
new file mode 100644
index 0000000..dc1f311
--- /dev/null
+++ b/Source/Quartzmin/Helpers/JsonPascalCaseNamingPolicy.cs
@@ -0,0 +1,15 @@
+#if NETCOREAPP
+using System;
+using System.Text.Json;
+
+namespace Quartzmin.Helpers
+{
+ public class JsonPascalCaseNamingPolicy : JsonNamingPolicy
+ {
+ public override string ConvertName( string name )
+ {
+ return name;
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/Source/Quartzmin/Models/FormFile.cs b/Source/Quartzmin/Models/FormFile.cs
index 63d970d..21c02d6 100644
--- a/Source/Quartzmin/Models/FormFile.cs
+++ b/Source/Quartzmin/Models/FormFile.cs
@@ -4,8 +4,8 @@ namespace Quartzmin.Models
{
public class FormFile
{
-#if NETSTANDARD
- readonly Microsoft.AspNetCore.Http.IFormFile _file;
+#if ( NETSTANDARD || NETCOREAPP )
+ readonly Microsoft.AspNetCore.Http.IFormFile _file;
public FormFile(Microsoft.AspNetCore.Http.IFormFile file) => _file = file;
public Stream GetStream() => _file.OpenReadStream();
diff --git a/Source/Quartzmin/Quartzmin.csproj b/Source/Quartzmin/Quartzmin.csproj
index 1feec98..13c62cf 100644
--- a/Source/Quartzmin/Quartzmin.csproj
+++ b/Source/Quartzmin/Quartzmin.csproj
@@ -1,78 +1,91 @@
-
- netstandard2.0;net452
- PackageReference
- true
- true
- 1591
- true
+
+ netstandard2.0;netcoreapp3.1;net452
+ PackageReference
+ true
+ true
+ 1591
+ true
- 1.0.3
- Quartzmin
- Web management tool for Quartz.NET
- Jan Lucansky
- https://github.com/jlucansky/Quartzmin
- https://raw.githubusercontent.com/jlucansky/public-assets/master/Quartzmin/avatar.png
- Powerful, easy to use web management tool for Quartz.NET
- quartz;web;ui
- 1.0.0.0
- 1.0.0.0
- LICENSE
- Copyright © 2018 Jan Lucansky
- git
- https://github.com/jlucansky/Quartzmin
-
+ 1.0.3
+ Quartzmin
+ Web management tool for Quartz.NET
+ Jan Lucansky
+ https://github.com/jlucansky/Quartzmin
+ https://raw.githubusercontent.com/jlucansky/public-assets/master/Quartzmin/avatar.png
+ Powerful, easy to use web management tool for Quartz.NET
+ quartz;web;ui
+ 1.0.0.0
+ 1.0.0.0
+ LICENSE
+ Copyright © 2018 Jan Lucansky
+ git
+ https://github.com/jlucansky/Quartzmin
+ false
+ true
+
-
- NETFRAMEWORK
- $(AssemblySearchPaths);{GAC}
-
-
- NETSTANDARD
-
+
+ NETFRAMEWORK
+ $(AssemblySearchPaths);{GAC}
+
+
+ NETSTANDARD
+
+
+ NETCOREAPP
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+