diff --git a/Directory.Packages.props b/Directory.Packages.props
index bed31674c8..8f818a02ce 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -5,57 +5,57 @@
-
+
-
+
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
@@ -66,8 +66,8 @@
-
-
+
+
@@ -79,7 +79,7 @@
-
+
@@ -88,7 +88,7 @@
-
+
@@ -111,22 +111,22 @@
-
+
-
+
-
+
-
-
+
+
@@ -134,38 +134,38 @@
-
-
+
+
-
-
-
-
+
+
+
+
-
+
-
-
+
+
-
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -177,15 +177,15 @@
-
+
-
+
-
-
+
+
-
\ No newline at end of file
+
diff --git a/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingInterceptor.cs b/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingInterceptor.cs
index 0f8894ed10..52c6302da2 100644
--- a/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingInterceptor.cs
+++ b/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingInterceptor.cs
@@ -85,7 +85,7 @@ public class AuditingInterceptor : AbpInterceptor, ITransientDependency
{
auditLogAction = auditingHelper.CreateAuditLogAction(
auditLog,
- invocation.TargetObject.GetType(),
+ invocation.TargetObject?.GetType(),
invocation.Method,
invocation.Arguments
);
diff --git a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs
index fef591ce70..ce4dc1e189 100644
--- a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs
+++ b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs
@@ -2,6 +2,7 @@
using AutoMapper;
using AutoMapper.Internal;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Volo.Abp.Auditing;
using Volo.Abp.Modularity;
@@ -39,7 +40,8 @@ public class AbpAutoMapperModule : AbpModule
{
configurator(autoMapperConfigurationContext);
}
- var mapperConfiguration = new MapperConfiguration(mapperConfigurationExpression);
+
+ var mapperConfiguration = new MapperConfiguration(mapperConfigurationExpression, sp.GetRequiredService());
foreach (var profileType in options.ValidatingProfiles)
{
diff --git a/framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/DynamicProxy/CastleAbpMethodInvocationAdapterBase.cs b/framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/DynamicProxy/CastleAbpMethodInvocationAdapterBase.cs
index 138a35c8b0..8417ffe223 100644
--- a/framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/DynamicProxy/CastleAbpMethodInvocationAdapterBase.cs
+++ b/framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/DynamicProxy/CastleAbpMethodInvocationAdapterBase.cs
@@ -9,35 +9,35 @@ namespace Volo.Abp.Castle.DynamicProxy;
public abstract class CastleAbpMethodInvocationAdapterBase : IAbpMethodInvocation
{
- public object[] Arguments => Invocation.Arguments;
+ public object?[] Arguments => Invocation.Arguments;
- public IReadOnlyDictionary ArgumentsDictionary => _lazyArgumentsDictionary.Value;
- private readonly Lazy> _lazyArgumentsDictionary;
+ public IReadOnlyDictionary ArgumentsDictionary => _lazyArgumentsDictionary.Value;
+ private readonly Lazy> _lazyArgumentsDictionary;
- public Type[] GenericArguments => Invocation.GenericArguments;
+ public Type[]? GenericArguments => Invocation.GenericArguments;
- public object TargetObject => Invocation.InvocationTarget ?? Invocation.MethodInvocationTarget;
+ public object? TargetObject => Invocation.InvocationTarget ?? Invocation.MethodInvocationTarget;
public MethodInfo Method => Invocation.MethodInvocationTarget ?? Invocation.Method;
- public object ReturnValue { get; set; } = default!;
+ public object ReturnValue { get; set; } = null!;
protected IInvocation Invocation { get; }
protected CastleAbpMethodInvocationAdapterBase(IInvocation invocation)
{
Invocation = invocation;
- _lazyArgumentsDictionary = new Lazy>(GetArgumentsDictionary);
+ _lazyArgumentsDictionary = new Lazy>(GetArgumentsDictionary);
}
public abstract Task ProceedAsync();
- private IReadOnlyDictionary GetArgumentsDictionary()
+ private IReadOnlyDictionary GetArgumentsDictionary()
{
- var dict = new Dictionary();
+ var dict = new Dictionary();
var methodParameters = Method.GetParameters();
- for (int i = 0; i < methodParameters.Length; i++)
+ for (var i = 0; i < methodParameters.Length; i++)
{
dict[methodParameters[i].Name!] = Invocation.Arguments[i];
}
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs
index 9007b334b4..69c052bc64 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs
@@ -42,7 +42,7 @@ public static class AbpCrossCuttingConcerns
}
}
- public static bool IsApplied([NotNull] object obj, [NotNull] string concern)
+ public static bool IsApplied(object? obj, [NotNull] string concern)
{
if (obj == null)
{
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/DynamicProxy/IAbpMethodInvocation.cs b/framework/src/Volo.Abp.Core/Volo/Abp/DynamicProxy/IAbpMethodInvocation.cs
index 8c03c4e4ef..8c655868cb 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/DynamicProxy/IAbpMethodInvocation.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/DynamicProxy/IAbpMethodInvocation.cs
@@ -7,13 +7,13 @@ namespace Volo.Abp.DynamicProxy;
public interface IAbpMethodInvocation
{
- object[] Arguments { get; }
+ object?[] Arguments { get; }
- IReadOnlyDictionary ArgumentsDictionary { get; }
+ IReadOnlyDictionary ArgumentsDictionary { get; }
- Type[] GenericArguments { get; }
+ Type[]? GenericArguments { get; }
- object TargetObject { get; }
+ object? TargetObject { get; }
MethodInfo Method { get; }
diff --git a/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs b/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs
index 335fd3d930..28be1e4edf 100644
--- a/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs
+++ b/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs
@@ -4,6 +4,7 @@ using System.Threading.Tasks;
using Microsoft.Extensions.Options;
using Volo.Abp.Dapr;
using Volo.Abp.DependencyInjection;
+#pragma warning disable DAPR_DISTRIBUTEDLOCK
namespace Volo.Abp.DistributedLocking.Dapr;
diff --git a/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLockHandle.cs b/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLockHandle.cs
index ccb82fc995..131303a426 100644
--- a/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLockHandle.cs
+++ b/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLockHandle.cs
@@ -1,5 +1,6 @@
using System.Threading.Tasks;
using Dapr.Client;
+#pragma warning disable DAPR_DISTRIBUTEDLOCK
namespace Volo.Abp.DistributedLocking.Dapr;
diff --git a/framework/src/Volo.Abp.FluentValidation/Volo.Abp.FluentValidation.csproj b/framework/src/Volo.Abp.FluentValidation/Volo.Abp.FluentValidation.csproj
index 4a12f24a67..563ef49f80 100644
--- a/framework/src/Volo.Abp.FluentValidation/Volo.Abp.FluentValidation.csproj
+++ b/framework/src/Volo.Abp.FluentValidation/Volo.Abp.FluentValidation.csproj
@@ -4,7 +4,7 @@
- netstandard2.0;netstandard2.1;net8.0;net9.0;net10.0
+ net8.0;net9.0;net10.0
enable
Nullable
Volo.Abp.FluentValidation
diff --git a/framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/GlobalFeatureInterceptor.cs b/framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/GlobalFeatureInterceptor.cs
index f2a5d65b2c..3d07f4fe42 100644
--- a/framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/GlobalFeatureInterceptor.cs
+++ b/framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/GlobalFeatureInterceptor.cs
@@ -15,7 +15,8 @@ public class GlobalFeatureInterceptor : AbpInterceptor, ITransientDependency
return;
}
- if (!GlobalFeatureHelper.IsGlobalFeatureEnabled(invocation.TargetObject.GetType(), out var attribute))
+ if (invocation.TargetObject != null &&
+ !GlobalFeatureHelper.IsGlobalFeatureEnabled(invocation.TargetObject.GetType(), out var attribute))
{
throw new AbpGlobalFeatureNotEnabledException(code: AbpGlobalFeatureErrorCodes.GlobalFeatureIsNotEnabled)
.WithData("ServiceName", invocation.TargetObject.GetType().FullName!)
diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs
index 390adfac9c..6e0a5008a3 100644
--- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs
+++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs
@@ -97,7 +97,7 @@ public class ClientProxyBase : ITransientDependency
return new ClientProxyRequestContext(
action,
actionArguments
- .Select((x, i) => new KeyValuePair(x.Key, arguments.Values[i].Value))
+ .Select((x, i) => new KeyValuePair(x.Key, arguments.Values[i].Value))
.ToDictionary(x => x.Key, x => x.Value),
typeof(TService));
}
@@ -308,7 +308,7 @@ public class ClientProxyBase : ITransientDependency
}
protected virtual void AddHeaders(
- IReadOnlyDictionary argumentsDictionary,
+ IReadOnlyDictionary argumentsDictionary,
ActionApiDescriptionModel action,
HttpRequestMessage requestMessage,
ApiVersionInfo apiVersion)
@@ -375,7 +375,7 @@ public class ClientProxyBase : ITransientDependency
return input;
}
- protected virtual CancellationToken GetCancellationToken(IReadOnlyDictionary arguments)
+ protected virtual CancellationToken GetCancellationToken(IReadOnlyDictionary arguments)
{
var cancellationTokenArg = arguments.LastOrDefault();
diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestContext.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestContext.cs
index 0caf2d8480..1a96dcba40 100644
--- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestContext.cs
+++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestContext.cs
@@ -11,14 +11,14 @@ public class ClientProxyRequestContext
public ActionApiDescriptionModel Action { get; }
[NotNull]
- public IReadOnlyDictionary Arguments { get; }
+ public IReadOnlyDictionary Arguments { get; }
[NotNull]
public Type ServiceType { get; }
public ClientProxyRequestContext(
[NotNull] ActionApiDescriptionModel action,
- [NotNull] IReadOnlyDictionary arguments,
+ [NotNull] IReadOnlyDictionary arguments,
[NotNull] Type serviceType)
{
ServiceType = serviceType;
diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestPayloadBuilder.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestPayloadBuilder.cs
index 91fc6f33bf..a158d3067d 100644
--- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestPayloadBuilder.cs
+++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestPayloadBuilder.cs
@@ -46,7 +46,7 @@ public class ClientProxyRequestPayloadBuilder : ITransientDependency
HttpClientProxyingOptions = httpClientProxyingOptions.Value;
}
- public virtual async Task BuildContentAsync(ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments, IJsonSerializer jsonSerializer, ApiVersionInfo apiVersion)
+ public virtual async Task BuildContentAsync(ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments, IJsonSerializer jsonSerializer, ApiVersionInfo apiVersion)
{
var body = await GenerateBodyAsync(action, methodArguments, jsonSerializer);
if (body != null)
@@ -59,7 +59,7 @@ public class ClientProxyRequestPayloadBuilder : ITransientDependency
return body;
}
- protected virtual Task GenerateBodyAsync(ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments, IJsonSerializer jsonSerializer)
+ protected virtual Task GenerateBodyAsync(ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments, IJsonSerializer jsonSerializer)
{
var parameters = action
.Parameters
@@ -87,7 +87,7 @@ public class ClientProxyRequestPayloadBuilder : ITransientDependency
return Task.FromResult(new StringContent(jsonSerializer.Serialize(value), Encoding.UTF8, MimeTypes.Application.Json));
}
- protected virtual async Task GenerateFormPostDataAsync(ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments)
+ protected virtual async Task GenerateFormPostDataAsync(ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments)
{
var parameters = action
.Parameters
diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyUrlBuilder.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyUrlBuilder.cs
index 69248680cc..bbe737a020 100644
--- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyUrlBuilder.cs
+++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyUrlBuilder.cs
@@ -49,7 +49,7 @@ public class ClientProxyUrlBuilder : ITransientDependency
Clock = clock;
}
- public async Task GenerateUrlWithParametersAsync(ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments, ApiVersionInfo apiVersion)
+ public async Task GenerateUrlWithParametersAsync(ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments, ApiVersionInfo apiVersion)
{
// The ASP.NET Core route value provider and query string value provider:
// Treat values as invariant culture.
@@ -65,7 +65,7 @@ public class ClientProxyUrlBuilder : ITransientDependency
}
}
- protected virtual async Task ReplacePathVariablesAsync(StringBuilder urlBuilder, ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments, ApiVersionInfo apiVersion)
+ protected virtual async Task ReplacePathVariablesAsync(StringBuilder urlBuilder, ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments, ApiVersionInfo apiVersion)
{
var pathParameters = action.Parameters
.Where(p => p.BindingSourceId == ParameterBindingSources.Path)
@@ -129,7 +129,7 @@ public class ClientProxyUrlBuilder : ITransientDependency
}
}
- protected virtual async Task AddQueryStringParametersAsync(StringBuilder urlBuilder, ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments, ApiVersionInfo apiVersion)
+ protected virtual async Task AddQueryStringParametersAsync(StringBuilder urlBuilder, ActionApiDescriptionModel action, IReadOnlyDictionary methodArguments, ApiVersionInfo apiVersion)
{
var queryStringParameters = action.Parameters
.Where(p => p.BindingSourceId.IsIn(ParameterBindingSources.ModelBinding, ParameterBindingSources.Query))
diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/Proxying/HttpActionParameterHelper.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/Proxying/HttpActionParameterHelper.cs
index f9fc79b81f..e073f9c357 100644
--- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/Proxying/HttpActionParameterHelper.cs
+++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/Proxying/HttpActionParameterHelper.cs
@@ -6,7 +6,7 @@ namespace Volo.Abp.Http.Client.Proxying;
internal static class HttpActionParameterHelper
{
- public static object? FindParameterValue(IReadOnlyDictionary methodArguments, ParameterApiDescriptionModel apiParameter)
+ public static object? FindParameterValue(IReadOnlyDictionary methodArguments, ParameterApiDescriptionModel apiParameter)
{
var value = methodArguments.GetOrDefault(apiParameter.NameOnMethod);
if (value == null)
diff --git a/framework/src/Volo.Abp.Imaging.Abstractions/Volo/Abp/Imaging/ImageResizeArgs.cs b/framework/src/Volo.Abp.Imaging.Abstractions/Volo/Abp/Imaging/ImageResizeArgs.cs
index 4a6df596f5..3cb485f04e 100644
--- a/framework/src/Volo.Abp.Imaging.Abstractions/Volo/Abp/Imaging/ImageResizeArgs.cs
+++ b/framework/src/Volo.Abp.Imaging.Abstractions/Volo/Abp/Imaging/ImageResizeArgs.cs
@@ -4,9 +4,9 @@ namespace Volo.Abp.Imaging;
public class ImageResizeArgs
{
- private int _width;
- public int Width
- {
+ private uint _width;
+ public uint Width
+ {
get => _width;
set
{
@@ -14,14 +14,14 @@ public class ImageResizeArgs
{
throw new ArgumentException("Width cannot be negative!", nameof(value));
}
-
+
_width = value;
}
}
-
- private int _height;
- public int Height
- {
+
+ private uint _height;
+ public uint Height
+ {
get => _height;
set
{
@@ -29,14 +29,14 @@ public class ImageResizeArgs
{
throw new ArgumentException("Height cannot be negative!", nameof(value));
}
-
+
_height = value;
}
}
-
+
public ImageResizeMode Mode { get; set; } = ImageResizeMode.Default;
- public ImageResizeArgs(int? width = null, int? height = null, ImageResizeMode? mode = null)
+ public ImageResizeArgs(uint? width = null, uint? height = null, ImageResizeMode? mode = null)
{
if (mode.HasValue)
{
@@ -46,4 +46,4 @@ public class ImageResizeArgs
Width = width ?? 0;
Height = height ?? 0;
}
-}
\ No newline at end of file
+}
diff --git a/framework/src/Volo.Abp.Imaging.AspNetCore/Volo/Abp/Imaging/ResizeImageAttribute.cs b/framework/src/Volo.Abp.Imaging.AspNetCore/Volo/Abp/Imaging/ResizeImageAttribute.cs
index 65b59bef6f..5c5384d2e5 100644
--- a/framework/src/Volo.Abp.Imaging.AspNetCore/Volo/Abp/Imaging/ResizeImageAttribute.cs
+++ b/framework/src/Volo.Abp.Imaging.AspNetCore/Volo/Abp/Imaging/ResizeImageAttribute.cs
@@ -11,34 +11,34 @@ namespace Volo.Abp.Imaging;
public class ResizeImageAttribute : ActionFilterAttribute
{
- public int? Width { get; }
- public int? Height { get; }
-
+ public uint? Width { get; }
+ public uint? Height { get; }
+
public ImageResizeMode Mode { get; set; }
public string[] Parameters { get; }
-
- public ResizeImageAttribute(int width, int height, params string[] parameters)
+
+ public ResizeImageAttribute(uint width, uint height, params string[] parameters)
{
Width = width;
Height = height;
Parameters = parameters;
}
-
- public ResizeImageAttribute(int size, params string[] parameters)
+
+ public ResizeImageAttribute(uint size, params string[] parameters)
{
Width = size;
Height = size;
Parameters = parameters;
}
- public async override Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
+ public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
var parameters = Parameters.Any()
? context.ActionArguments.Where(x => Parameters.Contains(x.Key)).ToArray()
: context.ActionArguments.ToArray();
-
+
var imageResizer = context.HttpContext.RequestServices.GetRequiredService();
-
+
foreach (var (key, value) in parameters)
{
object? resizedValue = value switch {
@@ -57,14 +57,14 @@ public class ResizeImageAttribute : ActionFilterAttribute
await next();
}
-
+
protected virtual async Task ResizeImageAsync(IFormFile file, IImageResizer imageResizer)
{
if(file.Headers == null || file.ContentType == null || !file.ContentType.StartsWith("image/"))
{
return file;
}
-
+
var result = await imageResizer.ResizeAsync(file.OpenReadStream(), new ImageResizeArgs(Width, Height, Mode), file.ContentType);
if (result.State != ImageProcessState.Done)
@@ -76,14 +76,14 @@ public class ResizeImageAttribute : ActionFilterAttribute
Headers = file.Headers
};
}
-
+
protected virtual async Task ResizeImageAsync(IRemoteStreamContent remoteStreamContent, IImageResizer imageResizer)
{
if(remoteStreamContent.ContentType == null || !remoteStreamContent.ContentType.StartsWith("image/"))
{
return remoteStreamContent;
}
-
+
var result = await imageResizer.ResizeAsync(remoteStreamContent.GetStream(), new ImageResizeArgs(Width, Height, Mode), remoteStreamContent.ContentType);
if (result.State != ImageProcessState.Done)
@@ -96,7 +96,7 @@ public class ResizeImageAttribute : ActionFilterAttribute
remoteStreamContent.Dispose();
return new RemoteStreamContent(result.Result, fileName, contentType);
}
-
+
protected virtual async Task ResizeImageAsync(Stream stream, IImageResizer imageResizer)
{
var result = await imageResizer.ResizeAsync(stream, new ImageResizeArgs(Width, Height, Mode));
@@ -109,9 +109,9 @@ public class ResizeImageAttribute : ActionFilterAttribute
await stream.DisposeAsync();
return result.Result;
}
-
+
protected virtual async Task ResizeImageAsync(byte[] bytes, IImageResizer imageResizer)
{
return (await imageResizer.ResizeAsync(bytes, new ImageResizeArgs(Width, Height, Mode))).Result;
}
-}
\ No newline at end of file
+}
diff --git a/framework/src/Volo.Abp.Imaging.ImageSharp/Volo/Abp/Imaging/ImageSharpImageResizerContributor.cs b/framework/src/Volo.Abp.Imaging.ImageSharp/Volo/Abp/Imaging/ImageSharpImageResizerContributor.cs
index e52155eaeb..39dfab7752 100644
--- a/framework/src/Volo.Abp.Imaging.ImageSharp/Volo/Abp/Imaging/ImageSharpImageResizerContributor.cs
+++ b/framework/src/Volo.Abp.Imaging.ImageSharp/Volo/Abp/Imaging/ImageSharpImageResizerContributor.cs
@@ -55,7 +55,7 @@ public class ImageSharpImageResizerContributor : IImageResizerContributor, ITran
}
public virtual async Task> TryResizeAsync(
- byte[] bytes,
+ byte[] bytes,
ImageResizeArgs resizeArgs,
string? mimeType = null,
CancellationToken cancellationToken = default)
@@ -107,17 +107,17 @@ public class ImageSharpImageResizerContributor : IImageResizerContributor, ITran
private static Size GetSize(ImageResizeArgs resizeArgs)
{
var size = new Size();
-
+
if (resizeArgs.Width > 0)
{
- size.Width = resizeArgs.Width;
+ size.Width = (int)resizeArgs.Width;
}
if (resizeArgs.Height > 0)
{
- size.Height = resizeArgs.Height;
+ size.Height = (int)resizeArgs.Height;
}
return size;
}
-}
\ No newline at end of file
+}
diff --git a/framework/src/Volo.Abp.Imaging.MagickNet/Volo/Abp/Imaging/MagickImageResizerContributor.cs b/framework/src/Volo.Abp.Imaging.MagickNet/Volo/Abp/Imaging/MagickImageResizerContributor.cs
index 3938bc6eba..bc6eea49fd 100644
--- a/framework/src/Volo.Abp.Imaging.MagickNet/Volo/Abp/Imaging/MagickImageResizerContributor.cs
+++ b/framework/src/Volo.Abp.Imaging.MagickNet/Volo/Abp/Imaging/MagickImageResizerContributor.cs
@@ -29,7 +29,7 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
{
using var image = new MagickImage(memoryStream);
- if (mimeType.IsNullOrWhiteSpace() && !CanResize(image.FormatInfo?.MimeType))
+ if (mimeType.IsNullOrWhiteSpace() && !CanResize(image.Format.ToString()))
{
return new ImageResizeResult(stream, ImageProcessState.Unsupported);
}
@@ -63,7 +63,7 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
using var image = new MagickImage(bytes);
- if (mimeType.IsNullOrWhiteSpace() && !CanResize(image.FormatInfo?.MimeType))
+ if (mimeType.IsNullOrWhiteSpace() && !CanResize(image.Format.ToString()))
{
return Task.FromResult(new ImageResizeResult(bytes, ImageProcessState.Unsupported));
}
@@ -73,9 +73,13 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
return Task.FromResult(new ImageResizeResult(image.ToByteArray(), ImageProcessState.Done));
}
- protected virtual bool CanResize(string? mimeType)
+ protected virtual bool CanResize(string mimeType)
{
- return mimeType switch {
+ if (!mimeType.StartsWith("image/"))
+ {
+ mimeType = "image/" + mimeType;
+ }
+ return mimeType.ToLowerInvariant() switch {
MimeTypes.Image.Jpeg => true,
MimeTypes.Image.Png => true,
MimeTypes.Image.Gif => true,
@@ -122,21 +126,21 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
}
- protected virtual int GetTargetHeight(ImageResizeArgs resizeArgs, int min, int sourceWidth, int sourceHeight)
+ protected virtual uint GetTargetHeight(ImageResizeArgs resizeArgs, uint min, uint sourceWidth, uint sourceHeight)
{
if (resizeArgs.Height == 0 && resizeArgs.Width > 0)
{
- return Math.Max(min, (int)Math.Round(sourceHeight * resizeArgs.Width / (float)sourceWidth));
+ return (uint) Math.Max(min, Math.Round(sourceHeight * resizeArgs.Width / (float)sourceWidth));
}
return resizeArgs.Height;
}
- protected virtual int GetTargetWidth(ImageResizeArgs resizeArgs, int min, int sourceWidth, int sourceHeight)
+ protected virtual uint GetTargetWidth(ImageResizeArgs resizeArgs, uint min, uint sourceWidth, uint sourceHeight)
{
if (resizeArgs.Width == 0 && resizeArgs.Height > 0)
{
- return Math.Max(min, (int)Math.Round(sourceWidth * resizeArgs.Height / (float)sourceHeight));
+ return (uint) Math.Max(min, Math.Round(sourceWidth * resizeArgs.Height / (float)sourceHeight));
}
return resizeArgs.Width;
@@ -180,11 +184,11 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
if (percentHeight < percentWidth)
{
- newWidth = (int)Math.Round(sourceWidth * percentHeight);
+ newWidth = (uint)Math.Round(sourceWidth * percentHeight);
}
else
{
- newHeight = (int)Math.Round(sourceHeight * percentWidth);
+ newHeight = (uint)Math.Round(sourceHeight * percentWidth);
}
image.Resize(newWidth, newHeight);
@@ -205,8 +209,8 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
var newWidth = targetWidth;
var newHeight = targetHeight;
- var boxPadWidth = targetWidth > 0 ? targetWidth : (int)Math.Round(sourceWidth * percentHeight);
- var boxPadHeight = targetHeight > 0 ? targetHeight : (int)Math.Round(sourceHeight * percentWidth);
+ var boxPadWidth = targetWidth > 0 ? targetWidth : (uint)Math.Round(sourceWidth * percentHeight);
+ var boxPadHeight = targetHeight > 0 ? targetHeight : (uint)Math.Round(sourceHeight * percentWidth);
if (sourceWidth < boxPadWidth && sourceHeight < boxPadHeight)
{
@@ -235,11 +239,11 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
if (imageRatio < ratio)
{
- targetHeight = (int)(sourceHeight * percentWidth);
+ targetHeight = (uint)(sourceHeight * percentWidth);
}
else
{
- targetWidth = (int)(sourceWidth * percentHeight);
+ targetWidth = (uint)(sourceWidth * percentHeight);
}
image.Resize(targetWidth, targetHeight);
@@ -269,21 +273,21 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
if (widthDiff > heightDiff)
{
- targetWidth = (int)Math.Round(targetHeight / imageRatio);
+ targetWidth = (uint)Math.Round(targetHeight / imageRatio);
}
else if (widthDiff < heightDiff)
{
- targetHeight = (int)Math.Round(targetWidth * imageRatio);
+ targetHeight = (uint)Math.Round(targetWidth * imageRatio);
}
else
{
if (targetHeight > targetWidth)
{
- targetWidth = (int)Math.Round(sourceHeight * percentWidth);
+ targetWidth = (uint)Math.Round(sourceHeight * percentWidth);
}
else
{
- targetHeight = (int)Math.Round(sourceHeight * percentWidth);
+ targetHeight = (uint)Math.Round(sourceHeight * percentWidth);
}
}
}
@@ -312,13 +316,13 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
Gravity.Center);
}
- protected virtual float CalculatePercent(int imageHeightOrWidth, int heightOrWidth)
+ protected virtual float CalculatePercent(uint imageHeightOrWidth, uint heightOrWidth)
{
return heightOrWidth / (float)imageHeightOrWidth;
}
- protected virtual float CalculateRatio(int width, int height)
+ protected virtual float CalculateRatio(uint width, uint height)
{
return height / (float)width;
}
-}
\ No newline at end of file
+}
diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs
index 0ba2c7c833..7a5db23620 100644
--- a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs
+++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs
@@ -50,7 +50,7 @@ public class SkiaSharpImageResizerContributor : IImageResizerContributor, ITrans
var (memoryBitmapStream, memorySkCodecStream) = await CreateMemoryStream(stream);
using var original = SKBitmap.Decode(memoryBitmapStream);
- using var resized = original.Resize(new SKImageInfo(resizeArgs.Width, resizeArgs.Height), Options.SKFilterQuality);
+ using var resized = original.Resize(new SKImageInfo((int)resizeArgs.Width, (int)resizeArgs.Height), Options.SKSamplingOptions);
using var image = SKImage.FromBitmap(resized);
using var codec = SKCodec.Create(memorySkCodecStream);
var memoryStream = new MemoryStream();
diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpResizerOptions.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpResizerOptions.cs
index 6bc220feb1..22cfcb1744 100644
--- a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpResizerOptions.cs
+++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpResizerOptions.cs
@@ -4,13 +4,13 @@ namespace Volo.Abp.Imaging;
public class SkiaSharpResizerOptions
{
- public SKFilterQuality SKFilterQuality { get; set; }
+ public SKSamplingOptions SKSamplingOptions { get; set; }
public int Quality { get; set; }
public SkiaSharpResizerOptions()
{
- SKFilterQuality = SKFilterQuality.None;
+ SKSamplingOptions = SKSamplingOptions.Default;
Quality = 75;
}
}
diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/IObjectValidator.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/IObjectValidator.cs
index 51cff66c10..993c85f30d 100644
--- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/IObjectValidator.cs
+++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/IObjectValidator.cs
@@ -7,13 +7,13 @@ namespace Volo.Abp.Validation;
public interface IObjectValidator
{
Task ValidateAsync(
- object validatingObject,
+ object? validatingObject,
string? name = null,
bool allowNull = false
);
Task> GetErrorsAsync(
- object validatingObject,
+ object? validatingObject,
string? name = null,
bool allowNull = false
);
diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidationContext.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidationContext.cs
index 6ea526dc03..6989b1fe0b 100644
--- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidationContext.cs
+++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidationContext.cs
@@ -4,15 +4,15 @@ namespace Volo.Abp.Validation;
public class MethodInvocationValidationContext : AbpValidationResult
{
- public object TargetObject { get; }
+ public object? TargetObject { get; }
public MethodInfo Method { get; }
- public object[] ParameterValues { get; }
+ public object?[] ParameterValues { get; }
public ParameterInfo[] Parameters { get; }
- public MethodInvocationValidationContext(object targetObject, MethodInfo method, object[] parameterValues)
+ public MethodInvocationValidationContext(object? targetObject, MethodInfo method, object?[] parameterValues)
{
TargetObject = targetObject;
Method = method;
diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidator.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidator.cs
index f0a34c96c6..177260ad5c 100644
--- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidator.cs
+++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidator.cs
@@ -91,7 +91,7 @@ public class MethodInvocationValidator : IMethodInvocationValidator, ITransientD
}
}
- protected virtual async Task AddMethodParameterValidationErrorsAsync(IAbpValidationResult context, ParameterInfo parameterInfo, object parameterValue)
+ protected virtual async Task AddMethodParameterValidationErrorsAsync(IAbpValidationResult context, ParameterInfo parameterInfo, object? parameterValue)
{
var allowNulls = parameterInfo.IsOptional ||
parameterInfo.IsOut ||
diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs
index dd3ff2f395..48f0fc377e 100644
--- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs
+++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs
@@ -19,7 +19,7 @@ public class ObjectValidator : IObjectValidator, ITransientDependency
Options = options.Value;
}
- public virtual async Task ValidateAsync(object validatingObject, string? name = null, bool allowNull = false)
+ public virtual async Task ValidateAsync(object? validatingObject, string? name = null, bool allowNull = false)
{
var errors = await GetErrorsAsync(validatingObject, name, allowNull);
@@ -32,7 +32,7 @@ public class ObjectValidator : IObjectValidator, ITransientDependency
}
}
- public virtual async Task> GetErrorsAsync(object validatingObject, string? name = null, bool allowNull = false)
+ public virtual async Task> GetErrorsAsync(object? validatingObject, string? name = null, bool allowNull = false)
{
if (validatingObject == null)
{
diff --git a/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapperExpressionExtensions_Tests.cs b/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapperExpressionExtensions_Tests.cs
index 453ab1d19a..10bc6a9d82 100644
--- a/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapperExpressionExtensions_Tests.cs
+++ b/framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapperExpressionExtensions_Tests.cs
@@ -1,5 +1,6 @@
using System;
using AutoMapper;
+using Microsoft.Extensions.Logging.Abstractions;
using Shouldly;
using Volo.Abp.Auditing;
using Xunit;
@@ -101,7 +102,7 @@ public class AutoMapperExpressionExtensions_Tests
private static IMapper CreateMapper(Action configure)
{
- var configuration = new MapperConfiguration(configure);
+ var configuration = new MapperConfiguration(configure, NullLoggerFactory.Instance);
configuration.AssertConfigurationIsValid();
return configuration.CreateMapper();
}
diff --git a/framework/test/Volo.Abp.Imaging.AspNetCore.Tests/Volo/Abp/Imaging/ResizeImageAttribute_Tests.cs b/framework/test/Volo.Abp.Imaging.AspNetCore.Tests/Volo/Abp/Imaging/ResizeImageAttribute_Tests.cs
index ea21306d1d..42ce5e28db 100644
--- a/framework/test/Volo.Abp.Imaging.AspNetCore.Tests/Volo/Abp/Imaging/ResizeImageAttribute_Tests.cs
+++ b/framework/test/Volo.Abp.Imaging.AspNetCore.Tests/Volo/Abp/Imaging/ResizeImageAttribute_Tests.cs
@@ -16,19 +16,19 @@ public class ResizeImageAttribute_Tests : AbpImagingAspNetCoreTestBase
public void Should_Init()
{
var attribute = new ResizeImageAttribute(100, 100);
-
- attribute.Width.ShouldBe(100);
- attribute.Height.ShouldBe(100);
+
+ attribute.Width.ShouldBe(100u);
+ attribute.Height.ShouldBe(100u);
}
-
+
[Fact]
public async Task Should_Resized_IFormFile()
{
var attribute = new ResizeImageAttribute(100, 100);
-
+
var serviceScopeFactory = GetRequiredService();
await using var stream = ImageFileHelper.GetJpgTestFileStream();
-
+
var actionExecutingContext = new ActionExecutingContext(
new ActionContext() {
HttpContext = new DefaultHttpContext() {
@@ -47,14 +47,14 @@ public class ResizeImageAttribute_Tests : AbpImagingAspNetCoreTestBase
},
new object()
);
-
+
await attribute.OnActionExecutionAsync(actionExecutingContext, async () => await Task.FromResult(new ActionExecutedContext(
actionExecutingContext,
new List(),
new object()
)));
-
+
actionExecutingContext.ActionArguments["file"].ShouldNotBeNull();
actionExecutingContext.ActionArguments["file"].ShouldBeAssignableTo();
}
-}
\ No newline at end of file
+}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/SlugNormalizer.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/SlugNormalizer.cs
index 0e3b229620..8b6c97be4c 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/SlugNormalizer.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/SlugNormalizer.cs
@@ -7,7 +7,7 @@ public static class SlugNormalizer
{
static readonly SlugHelper SlugHelper = new(new SlugHelperConfiguration
{
- AllowedChars =
+ AllowedCharacters =
{
'/'
}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Security/Captcha/SimpleMathsCaptchaGenerator.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Security/Captcha/SimpleMathsCaptchaGenerator.cs
index 7cc8ac8c7d..e306f5dbef 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Security/Captcha/SimpleMathsCaptchaGenerator.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Security/Captcha/SimpleMathsCaptchaGenerator.cs
@@ -8,6 +8,7 @@ using Volo.Abp.DependencyInjection;
using Volo.Abp.Caching;
using Microsoft.Extensions.Caching.Distributed;
using ImageMagick;
+using ImageMagick.Drawing;
namespace Volo.CmsKit.Public.Web.Security.Captcha;
@@ -63,7 +64,7 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency
}
};
- await Cache.SetAsync(request.Output.Id.ToString("N"), request.Output, new DistributedCacheEntryOptions
+ await Cache.SetAsync(request.Output.Id.ToString("N"), request.Output, new DistributedCacheEntryOptions
{
AbsoluteExpiration = DateTimeOffset.Now.Add(options.DurationOfValidity)
});
@@ -79,8 +80,8 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency
public virtual async Task ValidateAsync(Guid requestId, int value)
{
var request = await Cache.GetAsync(requestId.ToString("N"));
-
- if(request == null || request.Result != value)
+
+ if(request == null || request.Result != value)
{
throw new UserFriendlyException(Localizer["CaptchaCodeErrorMessage"]);
}
@@ -103,11 +104,11 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency
try
{
var random = new Random();
-
+
var drawables = new Drawables()
.FontPointSize(options.FontSize)
.StrokeColor(MagickColors.Transparent);
-
+
var family = MagickNET.FontFamilies.FirstOrDefault();
if (!family.IsNullOrWhiteSpace())
{
@@ -115,7 +116,7 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency
}
var size = (ushort)(drawables.FontTypeMetrics(stringText)?.TextWidth ?? 0);
- using var image = new MagickImage(MagickColors.White, size + 15, options.Height);
+ using var image = new MagickImage(MagickColors.White, size + 15u, options.Height);
double position = 0;
var startWith = (byte)random.Next(5, 10);
@@ -139,34 +140,27 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency
Parallel.For(0, options.DrawLines, _ =>
{
- // ReSharper disable once AccessToDisposedClosure
- if (image is { IsDisposed: false })
- {
- var x0 = random.Next(0, random.Next(0, 30));
- var y0 = random.Next(10, image.Height);
-
- var x1 = random.Next(30, image.Width);
- var y1 = random.Next(0, image.Height);
-
- image.Draw(new Drawables()
- .StrokeColor(options.DrawLinesColor[random.Next(0, options.DrawLinesColor.Length)])
- .StrokeWidth(RandomTextGenerator.GenerateNextFloat(options.MinLineThickness,
- options.MaxLineThickness))
- .Line(x0, y0, x1, y1));
- }
+ var x0 = random.Next(0, random.Next(0, 30));
+ var y0 = random.Next(10, (int)image.Height);
+
+ var x1 = random.Next(30, (int)image.Width);
+ var y1 = random.Next(0, (int)image.Height);
+
+ image.Draw(new Drawables()
+ .StrokeColor(options.DrawLinesColor[random.Next(0, options.DrawLinesColor.Length)])
+ .StrokeWidth(RandomTextGenerator.GenerateNextFloat(options.MinLineThickness,
+ options.MaxLineThickness))
+ .Line(x0, y0, x1, y1));
});
Parallel.For(0, options.NoiseRate, _ =>
{
- if (image is { IsDisposed: false })
- {
- var x = random.Next(0, image.Width);
- var y = random.Next(0, image.Height);
- image.Draw(new Drawables()
- .FillColor(options.NoiseRateColor[random.Next(0, options.NoiseRateColor.Length)])
- .Point(x, y)
- );
- }
+ var x = random.Next(0, (int)image.Width);
+ var y = random.Next(0, (int)image.Height);
+ image.Draw(new Drawables()
+ .FillColor(options.NoiseRateColor[random.Next(0, options.NoiseRateColor.Length)])
+ .Point(x, y)
+ );
});
image.Resize(new MagickGeometry(options.Width, options.Height) { IgnoreAspectRatio = true });
@@ -186,4 +180,4 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency
return rotationDegrees;
}
-}
\ No newline at end of file
+}
diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj
index cd5d07a278..90093a2662 100644
--- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj
+++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
index e080ba5e17..f7bf4525c1 100644
--- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
+++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj
index 7df8fc5dc7..2ca57b0c9f 100644
--- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj
+++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj
index 1466b4065f..aff0597294 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj
@@ -42,7 +42,7 @@
-
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj
index 770d23c471..b24d9ff01e 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj
@@ -12,8 +12,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj
index 44a929d75d..5df7bd4de1 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj
@@ -14,12 +14,12 @@
-
-
+
+
-
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
index 3870725b72..d83044bccd 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
@@ -15,8 +15,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj
index 8480a6f36d..c20e783fe6 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj
index 2bad8cc5c6..2f4c47768b 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj
index 7e918c51f8..af10e1ff80 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj
@@ -16,12 +16,12 @@
-
-
+
+
-
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj
index 0efcd6f8bf..1e2bbd67bb 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj
@@ -16,8 +16,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj
index d014a37d85..b320d8769b 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj
index 4c06c33947..f5bb7a6b7c 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj
index e49ba72074..72330a322a 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj
@@ -16,7 +16,7 @@
-
+
diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj
index f1e93ae704..0cfdf345f9 100644
--- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj
+++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj
index 4196942c52..cb90c5510a 100644
--- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj
+++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj
index 175a4d91bd..40cc14f2be 100644
--- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj
+++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj
index 858dc99efd..1c01586a08 100644
--- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj
+++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj
@@ -14,10 +14,10 @@
-
+
-
+
diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj
index dd3ba0bae5..671d10bdc2 100644
--- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj
+++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj
@@ -16,7 +16,7 @@
-
+
all
@@ -25,7 +25,7 @@
-
+
diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyCompanyName.MyProjectName.Web.Tests.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyCompanyName.MyProjectName.Web.Tests.csproj
index 67e1e8ca2e..f523295366 100644
--- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyCompanyName.MyProjectName.Web.Tests.csproj
+++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyCompanyName.MyProjectName.Web.Tests.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj
index a9ba1730d6..c53a843e06 100644
--- a/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj
+++ b/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj
index 4ee24a897e..2a1b0871ab 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj
index 35ef1100a0..c2babd15ab 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj
index 9ada59b51b..50b05a230f 100644
--- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj
+++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj
index 6deba32fcc..3f79ee479b 100644
--- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj
+++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj
index cd4d1ed463..6dca6b7204 100644
--- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj
+++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj
index c5d5420ec9..b4ef174729 100644
--- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj
+++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj
@@ -9,10 +9,10 @@
-
+
-
+
diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj
index 51b3525104..9557fdbb73 100644
--- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj
+++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj
@@ -9,7 +9,7 @@
-
+
all
@@ -18,7 +18,7 @@
-
+
diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj
index 3e2e80f08a..3d258836fc 100644
--- a/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj
+++ b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj
@@ -16,7 +16,7 @@
-
+