Browse Source

Upgrade all NuGet package to latest.

pull/23609/head
maliming 5 months ago
parent
commit
c6a6306a6d
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 122
      Directory.Packages.props
  2. 2
      framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingInterceptor.cs
  3. 4
      framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs
  4. 20
      framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/DynamicProxy/CastleAbpMethodInvocationAdapterBase.cs
  5. 2
      framework/src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs
  6. 8
      framework/src/Volo.Abp.Core/Volo/Abp/DynamicProxy/IAbpMethodInvocation.cs
  7. 1
      framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs
  8. 1
      framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLockHandle.cs
  9. 2
      framework/src/Volo.Abp.FluentValidation/Volo.Abp.FluentValidation.csproj
  10. 3
      framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/GlobalFeatureInterceptor.cs
  11. 6
      framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs
  12. 4
      framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestContext.cs
  13. 6
      framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestPayloadBuilder.cs
  14. 6
      framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyUrlBuilder.cs
  15. 2
      framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/Proxying/HttpActionParameterHelper.cs
  16. 24
      framework/src/Volo.Abp.Imaging.Abstractions/Volo/Abp/Imaging/ImageResizeArgs.cs
  17. 34
      framework/src/Volo.Abp.Imaging.AspNetCore/Volo/Abp/Imaging/ResizeImageAttribute.cs
  18. 10
      framework/src/Volo.Abp.Imaging.ImageSharp/Volo/Abp/Imaging/ImageSharpImageResizerContributor.cs
  19. 46
      framework/src/Volo.Abp.Imaging.MagickNet/Volo/Abp/Imaging/MagickImageResizerContributor.cs
  20. 2
      framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs
  21. 4
      framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpResizerOptions.cs
  22. 4
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/IObjectValidator.cs
  23. 6
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidationContext.cs
  24. 2
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidator.cs
  25. 4
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs
  26. 3
      framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapperExpressionExtensions_Tests.cs
  27. 18
      framework/test/Volo.Abp.Imaging.AspNetCore.Tests/Volo/Abp/Imaging/ResizeImageAttribute_Tests.cs
  28. 2
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/SlugNormalizer.cs
  29. 56
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Security/Captcha/SimpleMathsCaptchaGenerator.cs
  30. 4
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj
  31. 4
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
  32. 4
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj
  33. 2
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj
  34. 4
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj
  35. 6
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj
  36. 4
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
  37. 4
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj
  38. 4
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj
  39. 6
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj
  40. 4
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj
  41. 2
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj
  42. 2
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj
  43. 2
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj
  44. 2
      templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj
  45. 2
      templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj
  46. 2
      templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj
  47. 4
      templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj
  48. 4
      templates/app/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj
  49. 4
      templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyCompanyName.MyProjectName.Web.Tests.csproj
  50. 2
      templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj
  51. 4
      templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj
  52. 4
      templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj
  53. 2
      templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj
  54. 2
      templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj
  55. 2
      templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj
  56. 4
      templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj
  57. 4
      templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj
  58. 2
      templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj

122
Directory.Packages.props

@ -5,57 +5,57 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageVersion Include="AlibabaCloud.SDK.Dysmsapi20170525" Version="4.0.0" /> <PackageVersion Include="AlibabaCloud.SDK.Dysmsapi20170525" Version="4.0.0" />
<PackageVersion Include="aliyun-net-sdk-sts" Version="3.1.2" /> <PackageVersion Include="aliyun-net-sdk-sts" Version="3.1.3" />
<PackageVersion Include="Aliyun.OSS.SDK.NetCore" Version="2.14.1" /> <PackageVersion Include="Aliyun.OSS.SDK.NetCore" Version="2.14.1" />
<PackageVersion Include="AsyncKeyedLock" Version="7.1.6" /> <PackageVersion Include="AsyncKeyedLock" Version="7.1.6" />
<PackageVersion Include="Autofac" Version="8.2.1" /> <PackageVersion Include="Autofac" Version="8.4.0" />
<PackageVersion Include="Autofac.Extensions.DependencyInjection" Version="10.0.0" /> <PackageVersion Include="Autofac.Extensions.DependencyInjection" Version="10.0.0" />
<PackageVersion Include="Autofac.Extras.DynamicProxy" Version="7.1.0" /> <PackageVersion Include="Autofac.Extras.DynamicProxy" Version="7.1.0" />
<PackageVersion Include="AutoMapper" Version="14.0.0" /> <PackageVersion Include="AutoMapper" Version="15.0.1" />
<PackageVersion Include="Asp.Versioning.Mvc" Version="8.1.0" /> <PackageVersion Include="Asp.Versioning.Mvc" Version="8.1.0" />
<PackageVersion Include="Asp.Versioning.Mvc.ApiExplorer" Version="8.1.0" /> <PackageVersion Include="Asp.Versioning.Mvc.ApiExplorer" Version="8.1.0" />
<PackageVersion Include="AWSSDK.S3" Version="4.0.0" /> <PackageVersion Include="AWSSDK.S3" Version="4.0.7.2" />
<PackageVersion Include="AWSSDK.SecurityToken" Version="4.0.0" /> <PackageVersion Include="AWSSDK.SecurityToken" Version="4.0.2.2" />
<PackageVersion Include="BunnyCDN.Net.Storage" Version="1.0.4" /> <PackageVersion Include="BunnyCDN.Net.Storage" Version="1.0.4" />
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.19.0" /> <PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.20.1" />
<PackageVersion Include="Azure.Storage.Blobs" Version="12.24.0" /> <PackageVersion Include="Azure.Storage.Blobs" Version="12.25.0" />
<PackageVersion Include="Blazorise" Version="1.8.1" /> <PackageVersion Include="Blazorise" Version="1.8.2" />
<PackageVersion Include="Blazorise.Components" Version="1.8.1" /> <PackageVersion Include="Blazorise.Components" Version="1.8.2" />
<PackageVersion Include="Blazorise.DataGrid" Version="1.8.1" /> <PackageVersion Include="Blazorise.DataGrid" Version="1.8.2" />
<PackageVersion Include="Blazorise.Snackbar" Version="1.8.1" /> <PackageVersion Include="Blazorise.Snackbar" Version="1.8.2" />
<PackageVersion Include="Castle.Core" Version="5.1.1" /> <PackageVersion Include="Castle.Core" Version="5.2.1" />
<PackageVersion Include="Castle.Core.AsyncInterceptor" Version="2.1.0" /> <PackageVersion Include="Castle.Core.AsyncInterceptor" Version="2.1.0" />
<PackageVersion Include="CommonMark.NET" Version="0.15.1" /> <PackageVersion Include="CommonMark.NET" Version="0.15.1" />
<PackageVersion Include="Confluent.Kafka" Version="2.10.0" /> <PackageVersion Include="Confluent.Kafka" Version="2.11.1" />
<PackageVersion Include="Dapper" Version="2.1.66" /> <PackageVersion Include="Dapper" Version="2.1.66" />
<PackageVersion Include="Dapr.AspNetCore" Version="1.15.4" /> <PackageVersion Include="Dapr.AspNetCore" Version="1.16.0" />
<PackageVersion Include="Dapr.Client" Version="1.15.4" /> <PackageVersion Include="Dapr.Client" Version="1.16.0" />
<PackageVersion Include="MyCSharp.HttpUserAgentParser" Version="3.0.25" /> <PackageVersion Include="MyCSharp.HttpUserAgentParser" Version="3.0.28" />
<PackageVersion Include="Devart.Data.Oracle.EFCore" Version="10.4.235.9" /> <PackageVersion Include="Devart.Data.Oracle.EFCore" Version="10.4.290.9" />
<PackageVersion Include="DistributedLock.Core" Version="1.0.8" /> <PackageVersion Include="DistributedLock.Core" Version="1.0.8" />
<PackageVersion Include="DistributedLock.Redis" Version="1.0.3" /> <PackageVersion Include="DistributedLock.Redis" Version="1.1.0" />
<PackageVersion Include="DeepL.net" Version="1.15.0" /> <PackageVersion Include="DeepL.net" Version="1.15.0" />
<PackageVersion Include="itext.bouncy-castle-adapter" Version="9.2.0" /> <PackageVersion Include="itext.bouncy-castle-adapter" Version="9.3.0" />
<PackageVersion Include="itext7" Version="9.2.0" /> <PackageVersion Include="itext7" Version="9.3.0" />
<PackageVersion Include="itext7.pdfhtml" Version="6.2.0" /> <PackageVersion Include="itext7.pdfhtml" Version="6.2.1" />
<PackageVersion Include="MongoSandbox.Core" Version="2.0.0" /> <PackageVersion Include="MongoSandbox.Core" Version="2.0.0" />
<PackageVersion Include="MongoSandbox8.runtime.linux-x64" Version="2.0.0" /> <PackageVersion Include="MongoSandbox8.runtime.linux-x64" Version="2.0.0" />
<PackageVersion Include="MongoSandbox8.runtime.osx-arm64" Version="2.0.0" /> <PackageVersion Include="MongoSandbox8.runtime.osx-arm64" Version="2.0.0" />
<PackageVersion Include="MongoSandbox8.runtime.win-x64" Version="2.0.0" /> <PackageVersion Include="MongoSandbox8.runtime.win-x64" Version="2.0.0" />
<PackageVersion Include="FluentValidation" Version="11.11.0" /> <PackageVersion Include="FluentValidation" Version="12.0.0" />
<PackageVersion Include="Google.Cloud.Storage.V1" Version="4.13.0" /> <PackageVersion Include="Google.Cloud.Storage.V1" Version="4.13.0" />
<PackageVersion Include="Hangfire.AspNetCore" Version="1.8.18" /> <PackageVersion Include="Hangfire.AspNetCore" Version="1.8.21" />
<PackageVersion Include="Hangfire.SqlServer" Version="1.8.18" /> <PackageVersion Include="Hangfire.SqlServer" Version="1.8.21" />
<PackageVersion Include="HtmlSanitizer" Version="9.0.884" /> <PackageVersion Include="HtmlSanitizer" Version="9.0.886" />
<PackageVersion Include="Duende.IdentityModel" Version="7.1.0" /> <PackageVersion Include="Duende.IdentityModel" Version="7.1.0" />
<PackageVersion Include="IdentityServer4" Version="4.1.2" /> <PackageVersion Include="IdentityServer4" Version="4.1.2" />
<PackageVersion Include="IdentityServer4.AspNetIdentity" Version="4.1.2" /> <PackageVersion Include="IdentityServer4.AspNetIdentity" Version="4.1.2" />
<PackageVersion Include="JetBrains.Annotations" Version="2024.3.0" /> <PackageVersion Include="JetBrains.Annotations" Version="2025.2.2" />
<PackageVersion Include="LdapForNet" Version="2.7.15" /> <PackageVersion Include="LdapForNet" Version="2.7.15" />
<PackageVersion Include="LibGit2Sharp" Version="0.31.0" /> <PackageVersion Include="LibGit2Sharp" Version="0.31.0" />
<PackageVersion Include="Magick.NET-Q16-AnyCPU" Version="13.4.0" /> <PackageVersion Include="Magick.NET-Q16-AnyCPU" Version="14.8.2" />
<PackageVersion Include="MailKit" Version="4.12.0" /> <PackageVersion Include="MailKit" Version="4.13.0" />
<PackageVersion Include="Markdig.Signed" Version="0.41.1" /> <PackageVersion Include="Markdig.Signed" Version="0.42.0" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="10.0.0-rc.*" />
@ -66,8 +66,8 @@
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="9.0.60" /> <PackageVersion Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="9.0.110" />
<PackageVersion Include="Microsoft.Maui.Controls" Version="9.0.60" /> <PackageVersion Include="Microsoft.Maui.Controls" Version="9.0.110" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="10.0.0-rc.*" />
@ -79,7 +79,7 @@
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.5.0" /> <PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.5.0" />
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0" /> <PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.Data.Sqlite" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.Data.SqlClient" Version="6.0.2" /> <PackageVersion Include="Microsoft.Data.SqlClient" Version="6.1.1" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="10.0.0-rc.*" />
@ -88,7 +88,7 @@
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.Extensions.Caching.Hybrid" Version="9.4.0" /> <PackageVersion Include="Microsoft.Extensions.Caching.Hybrid" Version="9.9.0" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.0-rc.*" />
@ -111,22 +111,22 @@
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.0-rc.*" /> <PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.0-rc.*" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageVersion Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="9.0.0" /> <PackageVersion Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="9.0.0" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" /> <PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="8.14.0" /> <PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="8.14.0" />
<PackageVersion Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="8.14.0" /> <PackageVersion Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="8.14.0" />
<PackageVersion Include="Microsoft.IdentityModel.Tokens" Version="8.14.0" /> <PackageVersion Include="Microsoft.IdentityModel.Tokens" Version="8.14.0" />
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.14.0" /> <PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.14.0" />
<PackageVersion Include="Minio" Version="6.0.4" /> <PackageVersion Include="Minio" Version="6.0.5" />
<PackageVersion Include="MongoDB.Driver" Version="3.5.0" /> <PackageVersion Include="MongoDB.Driver" Version="3.5.0" />
<PackageVersion Include="NEST" Version="7.17.5" /> <PackageVersion Include="NEST" Version="7.17.5" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" /> <PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
<PackageVersion Include="Nito.AsyncEx.Context" Version="5.1.2" /> <PackageVersion Include="Nito.AsyncEx.Context" Version="5.1.2" />
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.0-rc.1" /> <PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.0-rc.1" />
<PackageVersion Include="NSubstitute" Version="5.3.0" /> <PackageVersion Include="NSubstitute" Version="5.3.0" />
<PackageVersion Include="NuGet.Versioning" Version="6.13.2" /> <PackageVersion Include="NuGet.Versioning" Version="6.14.0" />
<PackageVersion Include="NUglify" Version="1.21.15" /> <PackageVersion Include="NUglify" Version="1.21.17" />
<PackageVersion Include="Nullable" Version="1.3.1" /> <PackageVersion Include="Nullable" Version="1.3.1" />
<PackageVersion Include="Octokit" Version="14.0.0" /> <PackageVersion Include="Octokit" Version="14.0.0" />
<PackageVersion Include="OpenIddict.Abstractions" Version="7.1.0" /> <PackageVersion Include="OpenIddict.Abstractions" Version="7.1.0" />
@ -134,38 +134,38 @@
<PackageVersion Include="OpenIddict.Server.AspNetCore" Version="7.1.0" /> <PackageVersion Include="OpenIddict.Server.AspNetCore" Version="7.1.0" />
<PackageVersion Include="OpenIddict.Validation.AspNetCore" Version="7.1.0" /> <PackageVersion Include="OpenIddict.Validation.AspNetCore" Version="7.1.0" />
<PackageVersion Include="OpenIddict.Validation.ServerIntegration" Version="7.1.0" /> <PackageVersion Include="OpenIddict.Validation.ServerIntegration" Version="7.1.0" />
<PackageVersion Include="Oracle.EntityFrameworkCore" Version="9.23.80" /> <PackageVersion Include="Oracle.EntityFrameworkCore" Version="9.23.90" />
<PackageVersion Include="Polly" Version="8.5.2" /> <PackageVersion Include="Polly" Version="8.6.3" />
<PackageVersion Include="Polly.Extensions.Http" Version="3.0.0" /> <PackageVersion Include="Polly.Extensions.Http" Version="3.0.0" />
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="9.0.0" /> <PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="9.0.0" />
<PackageVersion Include="MySql.EntityFrameworkCore" Version="10.0.0-preview" /> <PackageVersion Include="MySql.EntityFrameworkCore" Version="10.0.0-preview" />
<PackageVersion Include="Quartz" Version="3.14.0" /> <PackageVersion Include="Quartz" Version="3.15.0" />
<PackageVersion Include="Quartz.Extensions.DependencyInjection" Version="3.14.0" /> <PackageVersion Include="Quartz.Extensions.DependencyInjection" Version="3.15.0" />
<PackageVersion Include="Quartz.Plugins.TimeZoneConverter" Version="3.14.0" /> <PackageVersion Include="Quartz.Plugins.TimeZoneConverter" Version="3.15.0" />
<PackageVersion Include="Quartz.Serialization.Json" Version="3.14.0" /> <PackageVersion Include="Quartz.Serialization.Json" Version="3.15.0" />
<PackageVersion Include="RabbitMQ.Client" Version="7.1.2" /> <PackageVersion Include="RabbitMQ.Client" Version="7.1.2" />
<PackageVersion Include="Rebus" Version="8.8.0" /> <PackageVersion Include="Rebus" Version="8.8.0" />
<PackageVersion Include="Rebus.ServiceProvider" Version="10.3.0" /> <PackageVersion Include="Rebus.ServiceProvider" Version="10.5.0" />
<PackageVersion Include="Riok.Mapperly" Version="4.2.1" /> <PackageVersion Include="Riok.Mapperly" Version="4.2.1" />
<PackageVersion Include="Scriban" Version="6.2.1" /> <PackageVersion Include="Scriban" Version="6.3.0" />
<PackageVersion Include="Serilog" Version="4.2.0" /> <PackageVersion Include="Serilog" Version="4.3.0" />
<PackageVersion Include="Serilog.AspNetCore" Version="9.0.0" /> <PackageVersion Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageVersion Include="Serilog.Extensions.Hosting" Version="9.0.0" /> <PackageVersion Include="Serilog.Extensions.Hosting" Version="9.0.0" />
<PackageVersion Include="Serilog.Extensions.Logging" Version="9.0.1" /> <PackageVersion Include="Serilog.Extensions.Logging" Version="9.0.2" />
<PackageVersion Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageVersion Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageVersion Include="Serilog.Sinks.Console" Version="6.0.0" /> <PackageVersion Include="Serilog.Sinks.Console" Version="6.0.0" />
<PackageVersion Include="Serilog.Sinks.File" Version="7.0.0" /> <PackageVersion Include="Serilog.Sinks.File" Version="7.0.0" />
<PackageVersion Include="SharpZipLib" Version="1.4.2" /> <PackageVersion Include="SharpZipLib" Version="1.4.2" />
<PackageVersion Include="Shouldly" Version="4.3.0" /> <PackageVersion Include="Shouldly" Version="4.3.0" />
<PackageVersion Include="SixLabors.ImageSharp" Version="3.1.1" /> <PackageVersion Include="SixLabors.ImageSharp" Version="3.1.11" />
<PackageVersion Include="SixLabors.ImageSharp.Drawing" Version="2.1.7" /> <PackageVersion Include="SixLabors.ImageSharp.Drawing" Version="2.1.7" />
<PackageVersion Include="SkiaSharp" Version="2.88.8" /> <PackageVersion Include="SkiaSharp" Version="3.119.0" />
<PackageVersion Include="SkiaSharp.NativeAssets.Linux" Version="2.88.8" /> <PackageVersion Include="SkiaSharp.NativeAssets.Linux" Version="3.119.0" />
<PackageVersion Include="SkiaSharp.NativeAssets.macOS" Version="2.88.8" /> <PackageVersion Include="SkiaSharp.NativeAssets.macOS" Version="3.119.0" />
<PackageVersion Include="Slugify.Core" Version="4.0.1" /> <PackageVersion Include="Slugify.Core" Version="5.1.1" />
<PackageVersion Include="Spectre.Console" Version="0.50.0" /> <PackageVersion Include="Spectre.Console" Version="0.51.1" />
<PackageVersion Include="StackExchange.Redis" Version="2.8.31" /> <PackageVersion Include="StackExchange.Redis" Version="2.9.17" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="8.1.1" /> <PackageVersion Include="Swashbuckle.AspNetCore" Version="9.0.4" />
<PackageVersion Include="System.Collections.Immutable" Version="10.0.0-rc.*" /> <PackageVersion Include="System.Collections.Immutable" Version="10.0.0-rc.*" />
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" /> <PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageVersion Include="System.Linq.Dynamic.Core" Version="1.6.7" /> <PackageVersion Include="System.Linq.Dynamic.Core" Version="1.6.7" />
@ -177,15 +177,15 @@
<PackageVersion Include="System.Text.Encodings.Web" Version="10.0.0-rc.*" /> <PackageVersion Include="System.Text.Encodings.Web" Version="10.0.0-rc.*" />
<PackageVersion Include="System.Text.Json" Version="10.0.0-rc.*" /> <PackageVersion Include="System.Text.Json" Version="10.0.0-rc.*" />
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.6.3" /> <PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.6.3" />
<PackageVersion Include="TencentCloudSDK.Sms" Version="3.0.1231" /> <PackageVersion Include="TencentCloudSDK.Sms" Version="3.0.1273" />
<PackageVersion Include="TimeZoneConverter" Version="7.0.0" /> <PackageVersion Include="TimeZoneConverter" Version="7.0.0" />
<PackageVersion Include="Unidecode.NET" Version="2.1.0" /> <PackageVersion Include="Unidecode.NET" Version="2.1.0" />
<PackageVersion Include="xunit" Version="2.9.3" /> <PackageVersion Include="xunit" Version="2.9.3" />
<PackageVersion Include="xunit.extensibility.execution" Version="2.9.3" /> <PackageVersion Include="xunit.extensibility.execution" Version="2.9.3" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.0.2" /> <PackageVersion Include="xunit.runner.visualstudio" Version="3.1.4" />
<PackageVersion Include="coverlet.collector" Version="6.0.4" /> <PackageVersion Include="coverlet.collector" Version="6.0.4" />
<PackageVersion Include="ConfigureAwait.Fody" Version="3.3.2" /> <PackageVersion Include="ConfigureAwait.Fody" Version="3.3.2" />
<PackageVersion Include="Fody" Version="6.9.2" /> <PackageVersion Include="Fody" Version="6.9.3" />
<PackageVersion Include="System.Management" Version="9.0.1"/> <PackageVersion Include="System.Management" Version="10.0.0-rc.*"/>
</ItemGroup> </ItemGroup>
</Project> </Project>

2
framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingInterceptor.cs

@ -85,7 +85,7 @@ public class AuditingInterceptor : AbpInterceptor, ITransientDependency
{ {
auditLogAction = auditingHelper.CreateAuditLogAction( auditLogAction = auditingHelper.CreateAuditLogAction(
auditLog, auditLog,
invocation.TargetObject.GetType(), invocation.TargetObject?.GetType(),
invocation.Method, invocation.Method,
invocation.Arguments invocation.Arguments
); );

4
framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs

@ -2,6 +2,7 @@
using AutoMapper; using AutoMapper;
using AutoMapper.Internal; using AutoMapper.Internal;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Volo.Abp.Auditing; using Volo.Abp.Auditing;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
@ -39,7 +40,8 @@ public class AbpAutoMapperModule : AbpModule
{ {
configurator(autoMapperConfigurationContext); configurator(autoMapperConfigurationContext);
} }
var mapperConfiguration = new MapperConfiguration(mapperConfigurationExpression);
var mapperConfiguration = new MapperConfiguration(mapperConfigurationExpression, sp.GetRequiredService<ILoggerFactory>());
foreach (var profileType in options.ValidatingProfiles) foreach (var profileType in options.ValidatingProfiles)
{ {

20
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 abstract class CastleAbpMethodInvocationAdapterBase : IAbpMethodInvocation
{ {
public object[] Arguments => Invocation.Arguments; public object?[] Arguments => Invocation.Arguments;
public IReadOnlyDictionary<string, object> ArgumentsDictionary => _lazyArgumentsDictionary.Value; public IReadOnlyDictionary<string, object?> ArgumentsDictionary => _lazyArgumentsDictionary.Value;
private readonly Lazy<IReadOnlyDictionary<string, object>> _lazyArgumentsDictionary; private readonly Lazy<IReadOnlyDictionary<string, object?>> _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 MethodInfo Method => Invocation.MethodInvocationTarget ?? Invocation.Method;
public object ReturnValue { get; set; } = default!; public object ReturnValue { get; set; } = null!;
protected IInvocation Invocation { get; } protected IInvocation Invocation { get; }
protected CastleAbpMethodInvocationAdapterBase(IInvocation invocation) protected CastleAbpMethodInvocationAdapterBase(IInvocation invocation)
{ {
Invocation = invocation; Invocation = invocation;
_lazyArgumentsDictionary = new Lazy<IReadOnlyDictionary<string, object>>(GetArgumentsDictionary); _lazyArgumentsDictionary = new Lazy<IReadOnlyDictionary<string, object?>>(GetArgumentsDictionary);
} }
public abstract Task ProceedAsync(); public abstract Task ProceedAsync();
private IReadOnlyDictionary<string, object> GetArgumentsDictionary() private IReadOnlyDictionary<string, object?> GetArgumentsDictionary()
{ {
var dict = new Dictionary<string, object>(); var dict = new Dictionary<string, object?>();
var methodParameters = Method.GetParameters(); 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]; dict[methodParameters[i].Name!] = Invocation.Arguments[i];
} }

2
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) if (obj == null)
{ {

8
framework/src/Volo.Abp.Core/Volo/Abp/DynamicProxy/IAbpMethodInvocation.cs

@ -7,13 +7,13 @@ namespace Volo.Abp.DynamicProxy;
public interface IAbpMethodInvocation public interface IAbpMethodInvocation
{ {
object[] Arguments { get; } object?[] Arguments { get; }
IReadOnlyDictionary<string, object> ArgumentsDictionary { get; } IReadOnlyDictionary<string, object?> ArgumentsDictionary { get; }
Type[] GenericArguments { get; } Type[]? GenericArguments { get; }
object TargetObject { get; } object? TargetObject { get; }
MethodInfo Method { get; } MethodInfo Method { get; }

1
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 Microsoft.Extensions.Options;
using Volo.Abp.Dapr; using Volo.Abp.Dapr;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
#pragma warning disable DAPR_DISTRIBUTEDLOCK
namespace Volo.Abp.DistributedLocking.Dapr; namespace Volo.Abp.DistributedLocking.Dapr;

1
framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLockHandle.cs

@ -1,5 +1,6 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Dapr.Client; using Dapr.Client;
#pragma warning disable DAPR_DISTRIBUTEDLOCK
namespace Volo.Abp.DistributedLocking.Dapr; namespace Volo.Abp.DistributedLocking.Dapr;

2
framework/src/Volo.Abp.FluentValidation/Volo.Abp.FluentValidation.csproj

@ -4,7 +4,7 @@
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net8.0;net9.0;net10.0</TargetFrameworks> <TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors> <WarningsAsErrors>Nullable</WarningsAsErrors>
<AssemblyName>Volo.Abp.FluentValidation</AssemblyName> <AssemblyName>Volo.Abp.FluentValidation</AssemblyName>

3
framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/GlobalFeatureInterceptor.cs

@ -15,7 +15,8 @@ public class GlobalFeatureInterceptor : AbpInterceptor, ITransientDependency
return; 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) throw new AbpGlobalFeatureNotEnabledException(code: AbpGlobalFeatureErrorCodes.GlobalFeatureIsNotEnabled)
.WithData("ServiceName", invocation.TargetObject.GetType().FullName!) .WithData("ServiceName", invocation.TargetObject.GetType().FullName!)

6
framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs

@ -97,7 +97,7 @@ public class ClientProxyBase<TService> : ITransientDependency
return new ClientProxyRequestContext( return new ClientProxyRequestContext(
action, action,
actionArguments actionArguments
.Select((x, i) => new KeyValuePair<string, object>(x.Key, arguments.Values[i].Value)) .Select((x, i) => new KeyValuePair<string, object?>(x.Key, arguments.Values[i].Value))
.ToDictionary(x => x.Key, x => x.Value), .ToDictionary(x => x.Key, x => x.Value),
typeof(TService)); typeof(TService));
} }
@ -308,7 +308,7 @@ public class ClientProxyBase<TService> : ITransientDependency
} }
protected virtual void AddHeaders( protected virtual void AddHeaders(
IReadOnlyDictionary<string, object> argumentsDictionary, IReadOnlyDictionary<string, object?> argumentsDictionary,
ActionApiDescriptionModel action, ActionApiDescriptionModel action,
HttpRequestMessage requestMessage, HttpRequestMessage requestMessage,
ApiVersionInfo apiVersion) ApiVersionInfo apiVersion)
@ -375,7 +375,7 @@ public class ClientProxyBase<TService> : ITransientDependency
return input; return input;
} }
protected virtual CancellationToken GetCancellationToken(IReadOnlyDictionary<string, object> arguments) protected virtual CancellationToken GetCancellationToken(IReadOnlyDictionary<string, object?> arguments)
{ {
var cancellationTokenArg = arguments.LastOrDefault(); var cancellationTokenArg = arguments.LastOrDefault();

4
framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestContext.cs

@ -11,14 +11,14 @@ public class ClientProxyRequestContext
public ActionApiDescriptionModel Action { get; } public ActionApiDescriptionModel Action { get; }
[NotNull] [NotNull]
public IReadOnlyDictionary<string, object> Arguments { get; } public IReadOnlyDictionary<string, object?> Arguments { get; }
[NotNull] [NotNull]
public Type ServiceType { get; } public Type ServiceType { get; }
public ClientProxyRequestContext( public ClientProxyRequestContext(
[NotNull] ActionApiDescriptionModel action, [NotNull] ActionApiDescriptionModel action,
[NotNull] IReadOnlyDictionary<string, object> arguments, [NotNull] IReadOnlyDictionary<string, object?> arguments,
[NotNull] Type serviceType) [NotNull] Type serviceType)
{ {
ServiceType = serviceType; ServiceType = serviceType;

6
framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyRequestPayloadBuilder.cs

@ -46,7 +46,7 @@ public class ClientProxyRequestPayloadBuilder : ITransientDependency
HttpClientProxyingOptions = httpClientProxyingOptions.Value; HttpClientProxyingOptions = httpClientProxyingOptions.Value;
} }
public virtual async Task<HttpContent?> BuildContentAsync(ActionApiDescriptionModel action, IReadOnlyDictionary<string, object> methodArguments, IJsonSerializer jsonSerializer, ApiVersionInfo apiVersion) public virtual async Task<HttpContent?> BuildContentAsync(ActionApiDescriptionModel action, IReadOnlyDictionary<string, object?> methodArguments, IJsonSerializer jsonSerializer, ApiVersionInfo apiVersion)
{ {
var body = await GenerateBodyAsync(action, methodArguments, jsonSerializer); var body = await GenerateBodyAsync(action, methodArguments, jsonSerializer);
if (body != null) if (body != null)
@ -59,7 +59,7 @@ public class ClientProxyRequestPayloadBuilder : ITransientDependency
return body; return body;
} }
protected virtual Task<HttpContent?> GenerateBodyAsync(ActionApiDescriptionModel action, IReadOnlyDictionary<string, object> methodArguments, IJsonSerializer jsonSerializer) protected virtual Task<HttpContent?> GenerateBodyAsync(ActionApiDescriptionModel action, IReadOnlyDictionary<string, object?> methodArguments, IJsonSerializer jsonSerializer)
{ {
var parameters = action var parameters = action
.Parameters .Parameters
@ -87,7 +87,7 @@ public class ClientProxyRequestPayloadBuilder : ITransientDependency
return Task.FromResult<HttpContent?>(new StringContent(jsonSerializer.Serialize(value), Encoding.UTF8, MimeTypes.Application.Json)); return Task.FromResult<HttpContent?>(new StringContent(jsonSerializer.Serialize(value), Encoding.UTF8, MimeTypes.Application.Json));
} }
protected virtual async Task<HttpContent?> GenerateFormPostDataAsync(ActionApiDescriptionModel action, IReadOnlyDictionary<string, object> methodArguments) protected virtual async Task<HttpContent?> GenerateFormPostDataAsync(ActionApiDescriptionModel action, IReadOnlyDictionary<string, object?> methodArguments)
{ {
var parameters = action var parameters = action
.Parameters .Parameters

6
framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyUrlBuilder.cs

@ -49,7 +49,7 @@ public class ClientProxyUrlBuilder : ITransientDependency
Clock = clock; Clock = clock;
} }
public async Task<string> GenerateUrlWithParametersAsync(ActionApiDescriptionModel action, IReadOnlyDictionary<string, object> methodArguments, ApiVersionInfo apiVersion) public async Task<string> GenerateUrlWithParametersAsync(ActionApiDescriptionModel action, IReadOnlyDictionary<string, object?> methodArguments, ApiVersionInfo apiVersion)
{ {
// The ASP.NET Core route value provider and query string value provider: // The ASP.NET Core route value provider and query string value provider:
// Treat values as invariant culture. // Treat values as invariant culture.
@ -65,7 +65,7 @@ public class ClientProxyUrlBuilder : ITransientDependency
} }
} }
protected virtual async Task ReplacePathVariablesAsync(StringBuilder urlBuilder, ActionApiDescriptionModel action, IReadOnlyDictionary<string, object> methodArguments, ApiVersionInfo apiVersion) protected virtual async Task ReplacePathVariablesAsync(StringBuilder urlBuilder, ActionApiDescriptionModel action, IReadOnlyDictionary<string, object?> methodArguments, ApiVersionInfo apiVersion)
{ {
var pathParameters = action.Parameters var pathParameters = action.Parameters
.Where(p => p.BindingSourceId == ParameterBindingSources.Path) .Where(p => p.BindingSourceId == ParameterBindingSources.Path)
@ -129,7 +129,7 @@ public class ClientProxyUrlBuilder : ITransientDependency
} }
} }
protected virtual async Task AddQueryStringParametersAsync(StringBuilder urlBuilder, ActionApiDescriptionModel action, IReadOnlyDictionary<string, object> methodArguments, ApiVersionInfo apiVersion) protected virtual async Task AddQueryStringParametersAsync(StringBuilder urlBuilder, ActionApiDescriptionModel action, IReadOnlyDictionary<string, object?> methodArguments, ApiVersionInfo apiVersion)
{ {
var queryStringParameters = action.Parameters var queryStringParameters = action.Parameters
.Where(p => p.BindingSourceId.IsIn(ParameterBindingSources.ModelBinding, ParameterBindingSources.Query)) .Where(p => p.BindingSourceId.IsIn(ParameterBindingSources.ModelBinding, ParameterBindingSources.Query))

2
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 internal static class HttpActionParameterHelper
{ {
public static object? FindParameterValue(IReadOnlyDictionary<string, object> methodArguments, ParameterApiDescriptionModel apiParameter) public static object? FindParameterValue(IReadOnlyDictionary<string, object?> methodArguments, ParameterApiDescriptionModel apiParameter)
{ {
var value = methodArguments.GetOrDefault(apiParameter.NameOnMethod); var value = methodArguments.GetOrDefault(apiParameter.NameOnMethod);
if (value == null) if (value == null)

24
framework/src/Volo.Abp.Imaging.Abstractions/Volo/Abp/Imaging/ImageResizeArgs.cs

@ -4,9 +4,9 @@ namespace Volo.Abp.Imaging;
public class ImageResizeArgs public class ImageResizeArgs
{ {
private int _width; private uint _width;
public int Width public uint Width
{ {
get => _width; get => _width;
set set
{ {
@ -14,14 +14,14 @@ public class ImageResizeArgs
{ {
throw new ArgumentException("Width cannot be negative!", nameof(value)); throw new ArgumentException("Width cannot be negative!", nameof(value));
} }
_width = value; _width = value;
} }
} }
private int _height; private uint _height;
public int Height public uint Height
{ {
get => _height; get => _height;
set set
{ {
@ -29,14 +29,14 @@ public class ImageResizeArgs
{ {
throw new ArgumentException("Height cannot be negative!", nameof(value)); throw new ArgumentException("Height cannot be negative!", nameof(value));
} }
_height = value; _height = value;
} }
} }
public ImageResizeMode Mode { get; set; } = ImageResizeMode.Default; 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) if (mode.HasValue)
{ {
@ -46,4 +46,4 @@ public class ImageResizeArgs
Width = width ?? 0; Width = width ?? 0;
Height = height ?? 0; Height = height ?? 0;
} }
} }

34
framework/src/Volo.Abp.Imaging.AspNetCore/Volo/Abp/Imaging/ResizeImageAttribute.cs

@ -11,34 +11,34 @@ namespace Volo.Abp.Imaging;
public class ResizeImageAttribute : ActionFilterAttribute public class ResizeImageAttribute : ActionFilterAttribute
{ {
public int? Width { get; } public uint? Width { get; }
public int? Height { get; } public uint? Height { get; }
public ImageResizeMode Mode { get; set; } public ImageResizeMode Mode { get; set; }
public string[] Parameters { get; } public string[] Parameters { get; }
public ResizeImageAttribute(int width, int height, params string[] parameters) public ResizeImageAttribute(uint width, uint height, params string[] parameters)
{ {
Width = width; Width = width;
Height = height; Height = height;
Parameters = parameters; Parameters = parameters;
} }
public ResizeImageAttribute(int size, params string[] parameters) public ResizeImageAttribute(uint size, params string[] parameters)
{ {
Width = size; Width = size;
Height = size; Height = size;
Parameters = parameters; Parameters = parameters;
} }
public async override Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{ {
var parameters = Parameters.Any() var parameters = Parameters.Any()
? context.ActionArguments.Where(x => Parameters.Contains(x.Key)).ToArray() ? context.ActionArguments.Where(x => Parameters.Contains(x.Key)).ToArray()
: context.ActionArguments.ToArray(); : context.ActionArguments.ToArray();
var imageResizer = context.HttpContext.RequestServices.GetRequiredService<IImageResizer>(); var imageResizer = context.HttpContext.RequestServices.GetRequiredService<IImageResizer>();
foreach (var (key, value) in parameters) foreach (var (key, value) in parameters)
{ {
object? resizedValue = value switch { object? resizedValue = value switch {
@ -57,14 +57,14 @@ public class ResizeImageAttribute : ActionFilterAttribute
await next(); await next();
} }
protected virtual async Task<IFormFile> ResizeImageAsync(IFormFile file, IImageResizer imageResizer) protected virtual async Task<IFormFile> ResizeImageAsync(IFormFile file, IImageResizer imageResizer)
{ {
if(file.Headers == null || file.ContentType == null || !file.ContentType.StartsWith("image/")) if(file.Headers == null || file.ContentType == null || !file.ContentType.StartsWith("image/"))
{ {
return file; return file;
} }
var result = await imageResizer.ResizeAsync(file.OpenReadStream(), new ImageResizeArgs(Width, Height, Mode), file.ContentType); var result = await imageResizer.ResizeAsync(file.OpenReadStream(), new ImageResizeArgs(Width, Height, Mode), file.ContentType);
if (result.State != ImageProcessState.Done) if (result.State != ImageProcessState.Done)
@ -76,14 +76,14 @@ public class ResizeImageAttribute : ActionFilterAttribute
Headers = file.Headers Headers = file.Headers
}; };
} }
protected virtual async Task<IRemoteStreamContent> ResizeImageAsync(IRemoteStreamContent remoteStreamContent, IImageResizer imageResizer) protected virtual async Task<IRemoteStreamContent> ResizeImageAsync(IRemoteStreamContent remoteStreamContent, IImageResizer imageResizer)
{ {
if(remoteStreamContent.ContentType == null || !remoteStreamContent.ContentType.StartsWith("image/")) if(remoteStreamContent.ContentType == null || !remoteStreamContent.ContentType.StartsWith("image/"))
{ {
return remoteStreamContent; return remoteStreamContent;
} }
var result = await imageResizer.ResizeAsync(remoteStreamContent.GetStream(), new ImageResizeArgs(Width, Height, Mode), remoteStreamContent.ContentType); var result = await imageResizer.ResizeAsync(remoteStreamContent.GetStream(), new ImageResizeArgs(Width, Height, Mode), remoteStreamContent.ContentType);
if (result.State != ImageProcessState.Done) if (result.State != ImageProcessState.Done)
@ -96,7 +96,7 @@ public class ResizeImageAttribute : ActionFilterAttribute
remoteStreamContent.Dispose(); remoteStreamContent.Dispose();
return new RemoteStreamContent(result.Result, fileName, contentType); return new RemoteStreamContent(result.Result, fileName, contentType);
} }
protected virtual async Task<Stream> ResizeImageAsync(Stream stream, IImageResizer imageResizer) protected virtual async Task<Stream> ResizeImageAsync(Stream stream, IImageResizer imageResizer)
{ {
var result = await imageResizer.ResizeAsync(stream, new ImageResizeArgs(Width, Height, Mode)); var result = await imageResizer.ResizeAsync(stream, new ImageResizeArgs(Width, Height, Mode));
@ -109,9 +109,9 @@ public class ResizeImageAttribute : ActionFilterAttribute
await stream.DisposeAsync(); await stream.DisposeAsync();
return result.Result; return result.Result;
} }
protected virtual async Task<byte[]> ResizeImageAsync(byte[] bytes, IImageResizer imageResizer) protected virtual async Task<byte[]> ResizeImageAsync(byte[] bytes, IImageResizer imageResizer)
{ {
return (await imageResizer.ResizeAsync(bytes, new ImageResizeArgs(Width, Height, Mode))).Result; return (await imageResizer.ResizeAsync(bytes, new ImageResizeArgs(Width, Height, Mode))).Result;
} }
} }

10
framework/src/Volo.Abp.Imaging.ImageSharp/Volo/Abp/Imaging/ImageSharpImageResizerContributor.cs

@ -55,7 +55,7 @@ public class ImageSharpImageResizerContributor : IImageResizerContributor, ITran
} }
public virtual async Task<ImageResizeResult<byte[]>> TryResizeAsync( public virtual async Task<ImageResizeResult<byte[]>> TryResizeAsync(
byte[] bytes, byte[] bytes,
ImageResizeArgs resizeArgs, ImageResizeArgs resizeArgs,
string? mimeType = null, string? mimeType = null,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)
@ -107,17 +107,17 @@ public class ImageSharpImageResizerContributor : IImageResizerContributor, ITran
private static Size GetSize(ImageResizeArgs resizeArgs) private static Size GetSize(ImageResizeArgs resizeArgs)
{ {
var size = new Size(); var size = new Size();
if (resizeArgs.Width > 0) if (resizeArgs.Width > 0)
{ {
size.Width = resizeArgs.Width; size.Width = (int)resizeArgs.Width;
} }
if (resizeArgs.Height > 0) if (resizeArgs.Height > 0)
{ {
size.Height = resizeArgs.Height; size.Height = (int)resizeArgs.Height;
} }
return size; return size;
} }
} }

46
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); using var image = new MagickImage(memoryStream);
if (mimeType.IsNullOrWhiteSpace() && !CanResize(image.FormatInfo?.MimeType)) if (mimeType.IsNullOrWhiteSpace() && !CanResize(image.Format.ToString()))
{ {
return new ImageResizeResult<Stream>(stream, ImageProcessState.Unsupported); return new ImageResizeResult<Stream>(stream, ImageProcessState.Unsupported);
} }
@ -63,7 +63,7 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
using var image = new MagickImage(bytes); 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<byte[]>(bytes, ImageProcessState.Unsupported)); return Task.FromResult(new ImageResizeResult<byte[]>(bytes, ImageProcessState.Unsupported));
} }
@ -73,9 +73,13 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
return Task.FromResult(new ImageResizeResult<byte[]>(image.ToByteArray(), ImageProcessState.Done)); return Task.FromResult(new ImageResizeResult<byte[]>(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.Jpeg => true,
MimeTypes.Image.Png => true, MimeTypes.Image.Png => true,
MimeTypes.Image.Gif => 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) 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; 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) 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; return resizeArgs.Width;
@ -180,11 +184,11 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
if (percentHeight < percentWidth) if (percentHeight < percentWidth)
{ {
newWidth = (int)Math.Round(sourceWidth * percentHeight); newWidth = (uint)Math.Round(sourceWidth * percentHeight);
} }
else else
{ {
newHeight = (int)Math.Round(sourceHeight * percentWidth); newHeight = (uint)Math.Round(sourceHeight * percentWidth);
} }
image.Resize(newWidth, newHeight); image.Resize(newWidth, newHeight);
@ -205,8 +209,8 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
var newWidth = targetWidth; var newWidth = targetWidth;
var newHeight = targetHeight; var newHeight = targetHeight;
var boxPadWidth = targetWidth > 0 ? targetWidth : (int)Math.Round(sourceWidth * percentHeight); var boxPadWidth = targetWidth > 0 ? targetWidth : (uint)Math.Round(sourceWidth * percentHeight);
var boxPadHeight = targetHeight > 0 ? targetHeight : (int)Math.Round(sourceHeight * percentWidth); var boxPadHeight = targetHeight > 0 ? targetHeight : (uint)Math.Round(sourceHeight * percentWidth);
if (sourceWidth < boxPadWidth && sourceHeight < boxPadHeight) if (sourceWidth < boxPadWidth && sourceHeight < boxPadHeight)
{ {
@ -235,11 +239,11 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
if (imageRatio < ratio) if (imageRatio < ratio)
{ {
targetHeight = (int)(sourceHeight * percentWidth); targetHeight = (uint)(sourceHeight * percentWidth);
} }
else else
{ {
targetWidth = (int)(sourceWidth * percentHeight); targetWidth = (uint)(sourceWidth * percentHeight);
} }
image.Resize(targetWidth, targetHeight); image.Resize(targetWidth, targetHeight);
@ -269,21 +273,21 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
if (widthDiff > heightDiff) if (widthDiff > heightDiff)
{ {
targetWidth = (int)Math.Round(targetHeight / imageRatio); targetWidth = (uint)Math.Round(targetHeight / imageRatio);
} }
else if (widthDiff < heightDiff) else if (widthDiff < heightDiff)
{ {
targetHeight = (int)Math.Round(targetWidth * imageRatio); targetHeight = (uint)Math.Round(targetWidth * imageRatio);
} }
else else
{ {
if (targetHeight > targetWidth) if (targetHeight > targetWidth)
{ {
targetWidth = (int)Math.Round(sourceHeight * percentWidth); targetWidth = (uint)Math.Round(sourceHeight * percentWidth);
} }
else else
{ {
targetHeight = (int)Math.Round(sourceHeight * percentWidth); targetHeight = (uint)Math.Round(sourceHeight * percentWidth);
} }
} }
} }
@ -312,13 +316,13 @@ public class MagickImageResizerContributor : IImageResizerContributor, ITransien
Gravity.Center); Gravity.Center);
} }
protected virtual float CalculatePercent(int imageHeightOrWidth, int heightOrWidth) protected virtual float CalculatePercent(uint imageHeightOrWidth, uint heightOrWidth)
{ {
return heightOrWidth / (float)imageHeightOrWidth; return heightOrWidth / (float)imageHeightOrWidth;
} }
protected virtual float CalculateRatio(int width, int height) protected virtual float CalculateRatio(uint width, uint height)
{ {
return height / (float)width; return height / (float)width;
} }
} }

2
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); var (memoryBitmapStream, memorySkCodecStream) = await CreateMemoryStream(stream);
using var original = SKBitmap.Decode(memoryBitmapStream); 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 image = SKImage.FromBitmap(resized);
using var codec = SKCodec.Create(memorySkCodecStream); using var codec = SKCodec.Create(memorySkCodecStream);
var memoryStream = new MemoryStream(); var memoryStream = new MemoryStream();

4
framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpResizerOptions.cs

@ -4,13 +4,13 @@ namespace Volo.Abp.Imaging;
public class SkiaSharpResizerOptions public class SkiaSharpResizerOptions
{ {
public SKFilterQuality SKFilterQuality { get; set; } public SKSamplingOptions SKSamplingOptions { get; set; }
public int Quality { get; set; } public int Quality { get; set; }
public SkiaSharpResizerOptions() public SkiaSharpResizerOptions()
{ {
SKFilterQuality = SKFilterQuality.None; SKSamplingOptions = SKSamplingOptions.Default;
Quality = 75; Quality = 75;
} }
} }

4
framework/src/Volo.Abp.Validation/Volo/Abp/Validation/IObjectValidator.cs

@ -7,13 +7,13 @@ namespace Volo.Abp.Validation;
public interface IObjectValidator public interface IObjectValidator
{ {
Task ValidateAsync( Task ValidateAsync(
object validatingObject, object? validatingObject,
string? name = null, string? name = null,
bool allowNull = false bool allowNull = false
); );
Task<List<ValidationResult>> GetErrorsAsync( Task<List<ValidationResult>> GetErrorsAsync(
object validatingObject, object? validatingObject,
string? name = null, string? name = null,
bool allowNull = false bool allowNull = false
); );

6
framework/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidationContext.cs

@ -4,15 +4,15 @@ namespace Volo.Abp.Validation;
public class MethodInvocationValidationContext : AbpValidationResult public class MethodInvocationValidationContext : AbpValidationResult
{ {
public object TargetObject { get; } public object? TargetObject { get; }
public MethodInfo Method { get; } public MethodInfo Method { get; }
public object[] ParameterValues { get; } public object?[] ParameterValues { get; }
public ParameterInfo[] Parameters { get; } public ParameterInfo[] Parameters { get; }
public MethodInvocationValidationContext(object targetObject, MethodInfo method, object[] parameterValues) public MethodInvocationValidationContext(object? targetObject, MethodInfo method, object?[] parameterValues)
{ {
TargetObject = targetObject; TargetObject = targetObject;
Method = method; Method = method;

2
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 || var allowNulls = parameterInfo.IsOptional ||
parameterInfo.IsOut || parameterInfo.IsOut ||

4
framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs

@ -19,7 +19,7 @@ public class ObjectValidator : IObjectValidator, ITransientDependency
Options = options.Value; 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); var errors = await GetErrorsAsync(validatingObject, name, allowNull);
@ -32,7 +32,7 @@ public class ObjectValidator : IObjectValidator, ITransientDependency
} }
} }
public virtual async Task<List<ValidationResult>> GetErrorsAsync(object validatingObject, string? name = null, bool allowNull = false) public virtual async Task<List<ValidationResult>> GetErrorsAsync(object? validatingObject, string? name = null, bool allowNull = false)
{ {
if (validatingObject == null) if (validatingObject == null)
{ {

3
framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapperExpressionExtensions_Tests.cs

@ -1,5 +1,6 @@
using System; using System;
using AutoMapper; using AutoMapper;
using Microsoft.Extensions.Logging.Abstractions;
using Shouldly; using Shouldly;
using Volo.Abp.Auditing; using Volo.Abp.Auditing;
using Xunit; using Xunit;
@ -101,7 +102,7 @@ public class AutoMapperExpressionExtensions_Tests
private static IMapper CreateMapper(Action<IMapperConfigurationExpression> configure) private static IMapper CreateMapper(Action<IMapperConfigurationExpression> configure)
{ {
var configuration = new MapperConfiguration(configure); var configuration = new MapperConfiguration(configure, NullLoggerFactory.Instance);
configuration.AssertConfigurationIsValid(); configuration.AssertConfigurationIsValid();
return configuration.CreateMapper(); return configuration.CreateMapper();
} }

18
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() public void Should_Init()
{ {
var attribute = new ResizeImageAttribute(100, 100); var attribute = new ResizeImageAttribute(100, 100);
attribute.Width.ShouldBe(100); attribute.Width.ShouldBe(100u);
attribute.Height.ShouldBe(100); attribute.Height.ShouldBe(100u);
} }
[Fact] [Fact]
public async Task Should_Resized_IFormFile() public async Task Should_Resized_IFormFile()
{ {
var attribute = new ResizeImageAttribute(100, 100); var attribute = new ResizeImageAttribute(100, 100);
var serviceScopeFactory = GetRequiredService<IServiceScopeFactory>(); var serviceScopeFactory = GetRequiredService<IServiceScopeFactory>();
await using var stream = ImageFileHelper.GetJpgTestFileStream(); await using var stream = ImageFileHelper.GetJpgTestFileStream();
var actionExecutingContext = new ActionExecutingContext( var actionExecutingContext = new ActionExecutingContext(
new ActionContext() { new ActionContext() {
HttpContext = new DefaultHttpContext() { HttpContext = new DefaultHttpContext() {
@ -47,14 +47,14 @@ public class ResizeImageAttribute_Tests : AbpImagingAspNetCoreTestBase
}, },
new object() new object()
); );
await attribute.OnActionExecutionAsync(actionExecutingContext, async () => await Task.FromResult(new ActionExecutedContext( await attribute.OnActionExecutionAsync(actionExecutingContext, async () => await Task.FromResult(new ActionExecutedContext(
actionExecutingContext, actionExecutingContext,
new List<IFilterMetadata>(), new List<IFilterMetadata>(),
new object() new object()
))); )));
actionExecutingContext.ActionArguments["file"].ShouldNotBeNull(); actionExecutingContext.ActionArguments["file"].ShouldNotBeNull();
actionExecutingContext.ActionArguments["file"].ShouldBeAssignableTo<IFormFile>(); actionExecutingContext.ActionArguments["file"].ShouldBeAssignableTo<IFormFile>();
} }
} }

2
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 static readonly SlugHelper SlugHelper = new(new SlugHelperConfiguration
{ {
AllowedChars = AllowedCharacters =
{ {
'/' '/'
} }

56
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 Volo.Abp.Caching;
using Microsoft.Extensions.Caching.Distributed; using Microsoft.Extensions.Caching.Distributed;
using ImageMagick; using ImageMagick;
using ImageMagick.Drawing;
namespace Volo.CmsKit.Public.Web.Security.Captcha; 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) AbsoluteExpiration = DateTimeOffset.Now.Add(options.DurationOfValidity)
}); });
@ -79,8 +80,8 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency
public virtual async Task ValidateAsync(Guid requestId, int value) public virtual async Task ValidateAsync(Guid requestId, int value)
{ {
var request = await Cache.GetAsync(requestId.ToString("N")); 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"]); throw new UserFriendlyException(Localizer["CaptchaCodeErrorMessage"]);
} }
@ -103,11 +104,11 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency
try try
{ {
var random = new Random(); var random = new Random();
var drawables = new Drawables() var drawables = new Drawables()
.FontPointSize(options.FontSize) .FontPointSize(options.FontSize)
.StrokeColor(MagickColors.Transparent); .StrokeColor(MagickColors.Transparent);
var family = MagickNET.FontFamilies.FirstOrDefault(); var family = MagickNET.FontFamilies.FirstOrDefault();
if (!family.IsNullOrWhiteSpace()) if (!family.IsNullOrWhiteSpace())
{ {
@ -115,7 +116,7 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency
} }
var size = (ushort)(drawables.FontTypeMetrics(stringText)?.TextWidth ?? 0); 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; double position = 0;
var startWith = (byte)random.Next(5, 10); var startWith = (byte)random.Next(5, 10);
@ -139,34 +140,27 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency
Parallel.For(0, options.DrawLines, _ => Parallel.For(0, options.DrawLines, _ =>
{ {
// ReSharper disable once AccessToDisposedClosure var x0 = random.Next(0, random.Next(0, 30));
if (image is { IsDisposed: false }) var y0 = random.Next(10, (int)image.Height);
{
var x0 = random.Next(0, random.Next(0, 30)); var x1 = random.Next(30, (int)image.Width);
var y0 = random.Next(10, image.Height); var y1 = random.Next(0, (int)image.Height);
var x1 = random.Next(30, image.Width); image.Draw(new Drawables()
var y1 = random.Next(0, image.Height); .StrokeColor(options.DrawLinesColor[random.Next(0, options.DrawLinesColor.Length)])
.StrokeWidth(RandomTextGenerator.GenerateNextFloat(options.MinLineThickness,
image.Draw(new Drawables() options.MaxLineThickness))
.StrokeColor(options.DrawLinesColor[random.Next(0, options.DrawLinesColor.Length)]) .Line(x0, y0, x1, y1));
.StrokeWidth(RandomTextGenerator.GenerateNextFloat(options.MinLineThickness,
options.MaxLineThickness))
.Line(x0, y0, x1, y1));
}
}); });
Parallel.For(0, options.NoiseRate, _ => Parallel.For(0, options.NoiseRate, _ =>
{ {
if (image is { IsDisposed: false }) var x = random.Next(0, (int)image.Width);
{ var y = random.Next(0, (int)image.Height);
var x = random.Next(0, image.Width); image.Draw(new Drawables()
var y = random.Next(0, image.Height); .FillColor(options.NoiseRateColor[random.Next(0, options.NoiseRateColor.Length)])
image.Draw(new Drawables() .Point(x, y)
.FillColor(options.NoiseRateColor[random.Next(0, options.NoiseRateColor.Length)]) );
.Point(x, y)
);
}
}); });
image.Resize(new MagickGeometry(options.Width, options.Height) { IgnoreAspectRatio = true }); image.Resize(new MagickGeometry(options.Width, options.Height) { IgnoreAspectRatio = true });
@ -186,4 +180,4 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency
return rotationDegrees; return rotationDegrees;
} }
} }

4
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
</ItemGroup> </ItemGroup>

4
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
</ItemGroup> </ItemGroup>

4
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj

@ -9,8 +9,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" />
</ItemGroup> </ItemGroup>

2
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj

@ -42,7 +42,7 @@
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" />
<PackageReference Include="DistributedLock.Redis" Version="1.0.3" /> <PackageReference Include="DistributedLock.Redis" Version="1.1.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

4
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj

@ -12,8 +12,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" />
</ItemGroup> </ItemGroup>

6
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj

@ -14,12 +14,12 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" />
<PackageReference Include="DistributedLock.Redis" Version="1.0.3" /> <PackageReference Include="DistributedLock.Redis" Version="1.1.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

4
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj

@ -15,8 +15,8 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.0-rc.*" />
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
</ItemGroup> </ItemGroup>

4
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj

@ -13,8 +13,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" />
</ItemGroup> </ItemGroup>

4
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj

@ -13,8 +13,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" />
</ItemGroup> </ItemGroup>

6
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj

@ -16,12 +16,12 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.0-rc.*" />
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" />
<PackageReference Include="DistributedLock.Redis" Version="1.0.3" /> <PackageReference Include="DistributedLock.Redis" Version="1.1.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

4
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj

@ -16,8 +16,8 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.0-rc.*" />
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
</ItemGroup> </ItemGroup>

2
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj

@ -18,7 +18,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Serilog.Extensions.Logging" Version="9.0.1" /> <PackageReference Include="Serilog.Extensions.Logging" Version="9.0.2" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" /> <PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" /> <PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />

2
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj

@ -15,7 +15,7 @@
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.0-rc.*" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" />
<PackageReference Include="DistributedLock.Redis" Version="1.0.3" /> <PackageReference Include="DistributedLock.Redis" Version="1.1.0" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.AspNetCore.Authentication.JwtBearer\Volo.Abp.AspNetCore.Authentication.JwtBearer.csproj" /> <ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.AspNetCore.Authentication.JwtBearer\Volo.Abp.AspNetCore.Authentication.JwtBearer.csproj" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy\Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy.csproj" /> <ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy\Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy.csproj" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" /> <ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />

2
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj

@ -16,7 +16,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="DistributedLock.Redis" Version="1.0.3" /> <PackageReference Include="DistributedLock.Redis" Version="1.1.0" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.0-rc.*" />

2
templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj

@ -14,7 +14,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj

@ -9,7 +9,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj

@ -15,7 +15,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj

@ -14,10 +14,10 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="MongoSandbox.Core" Version="2.0.0" /> <PackageReference Include="MongoSandbox.Core" Version="2.0.0" />
<PackageReference Include="MongoSandbox8.runtime.linux-x64" Version="2.0.0" Condition="$([MSBuild]::IsOSPlatform('Linux'))" /> <PackageReference Include="MongoSandbox8.runtime.linux-x64" Version="2.0.0" Condition="$([MSBuild]::IsOSPlatform('Linux'))" />
<PackageReference Include="MongoSandbox8.runtime.osx-arm64" Version="1.0.1" Condition="$([MSBuild]::IsOSPlatform('OSX'))" /> <PackageReference Include="MongoSandbox8.runtime.osx-arm64" Version="2.0.0" Condition="$([MSBuild]::IsOSPlatform('OSX'))" />
<PackageReference Include="MongoSandbox8.runtime.win-x64" Version="2.0.0" Condition="$([MSBuild]::IsOSPlatform('Windows'))" /> <PackageReference Include="MongoSandbox8.runtime.win-x64" Version="2.0.0" Condition="$([MSBuild]::IsOSPlatform('Windows'))" />
</ItemGroup> </ItemGroup>

4
templates/app/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj

@ -16,7 +16,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="NSubstitute" Version="5.3.0" /> <PackageReference Include="NSubstitute" Version="5.3.0" />
<PackageReference Include="NSubstitute.Analyzers.CSharp" Version="1.0.17"> <PackageReference Include="NSubstitute.Analyzers.CSharp" Version="1.0.17">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
@ -25,7 +25,7 @@
<PackageReference Include="Shouldly" Version="4.3.0" /> <PackageReference Include="Shouldly" Version="4.3.0" />
<PackageReference Include="xunit" Version="2.9.3" /> <PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.extensibility.execution" Version="2.9.3" /> <PackageReference Include="xunit.extensibility.execution" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyCompanyName.MyProjectName.Web.Tests.csproj

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="HtmlAgilityPack" Version="1.12.1" /> <PackageReference Include="HtmlAgilityPack" Version="1.12.3" />
<ProjectReference Include="..\MyCompanyName.MyProjectName.Application.Tests\MyCompanyName.MyProjectName.Application.Tests.csproj" /> <ProjectReference Include="..\MyCompanyName.MyProjectName.Application.Tests\MyCompanyName.MyProjectName.Application.Tests.csproj" />
<ProjectReference Include="..\..\src\MyCompanyName.MyProjectName.Web\MyCompanyName.MyProjectName.Web.csproj" /> <ProjectReference Include="..\..\src\MyCompanyName.MyProjectName.Web\MyCompanyName.MyProjectName.Web.csproj" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.AspNetCore.TestBase\Volo.Abp.AspNetCore.TestBase.csproj" /> <ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.AspNetCore.TestBase\Volo.Abp.AspNetCore.TestBase.csproj" />

2
templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj

@ -15,7 +15,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0-rc.*" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="9.0.0" /> <PackageReference Include="Serilog.Extensions.Hosting" Version="9.0.0" />
<PackageReference Include="Serilog.Extensions.Logging" Version="9.0.1" /> <PackageReference Include="Serilog.Extensions.Logging" Version="9.0.2" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" /> <PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" /> <PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />

4
templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj

@ -10,8 +10,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.*" />
</ItemGroup> </ItemGroup>

4
templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj

@ -13,8 +13,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Blazorise.Bootstrap5" Version="1.8.1" /> <PackageReference Include="Blazorise.Bootstrap5" Version="1.8.2" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.1" /> <PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.8.2" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.0-rc.*" />

2
templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj

@ -11,7 +11,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\src\MyCompanyName.MyProjectName.Application\MyCompanyName.MyProjectName.Application.csproj" /> <ProjectReference Include="..\..\src\MyCompanyName.MyProjectName.Application\MyCompanyName.MyProjectName.Application.csproj" />
<ProjectReference Include="..\MyCompanyName.MyProjectName.Domain.Tests\MyCompanyName.MyProjectName.Domain.Tests.csproj" /> <ProjectReference Include="..\MyCompanyName.MyProjectName.Domain.Tests\MyCompanyName.MyProjectName.Domain.Tests.csproj" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj

@ -9,7 +9,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj

@ -9,7 +9,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="10.0.0-rc.*" />
<ProjectReference Include="..\..\src\MyCompanyName.MyProjectName.EntityFrameworkCore\MyCompanyName.MyProjectName.EntityFrameworkCore.csproj" /> <ProjectReference Include="..\..\src\MyCompanyName.MyProjectName.EntityFrameworkCore\MyCompanyName.MyProjectName.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\MyCompanyName.MyProjectName.Application.Tests\MyCompanyName.MyProjectName.Application.Tests.csproj" /> <ProjectReference Include="..\MyCompanyName.MyProjectName.Application.Tests\MyCompanyName.MyProjectName.Application.Tests.csproj" />

4
templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj

@ -9,10 +9,10 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="MongoSandbox.Core" Version="2.0.0" /> <PackageReference Include="MongoSandbox.Core" Version="2.0.0" />
<PackageReference Include="MongoSandbox8.runtime.linux-x64" Version="2.0.0" Condition="$([MSBuild]::IsOSPlatform('Linux'))" /> <PackageReference Include="MongoSandbox8.runtime.linux-x64" Version="2.0.0" Condition="$([MSBuild]::IsOSPlatform('Linux'))" />
<PackageReference Include="MongoSandbox8.runtime.osx-arm64" Version="1.0.1" Condition="$([MSBuild]::IsOSPlatform('OSX'))" /> <PackageReference Include="MongoSandbox8.runtime.osx-arm64" Version="2.0.0" Condition="$([MSBuild]::IsOSPlatform('OSX'))" />
<PackageReference Include="MongoSandbox8.runtime.win-x64" Version="2.0.0" Condition="$([MSBuild]::IsOSPlatform('Windows'))" /> <PackageReference Include="MongoSandbox8.runtime.win-x64" Version="2.0.0" Condition="$([MSBuild]::IsOSPlatform('Windows'))" />
<ProjectReference Include="..\..\src\MyCompanyName.MyProjectName.MongoDB\MyCompanyName.MyProjectName.MongoDB.csproj" /> <ProjectReference Include="..\..\src\MyCompanyName.MyProjectName.MongoDB\MyCompanyName.MyProjectName.MongoDB.csproj" />
<ProjectReference Include="..\MyCompanyName.MyProjectName.Application.Tests\MyCompanyName.MyProjectName.Application.Tests.csproj" /> <ProjectReference Include="..\MyCompanyName.MyProjectName.Application.Tests\MyCompanyName.MyProjectName.Application.Tests.csproj" />

4
templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj

@ -9,7 +9,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="NSubstitute" Version="5.3.0" /> <PackageReference Include="NSubstitute" Version="5.3.0" />
<PackageReference Include="NSubstitute.Analyzers.CSharp" Version="1.0.17"> <PackageReference Include="NSubstitute.Analyzers.CSharp" Version="1.0.17">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
@ -18,7 +18,7 @@
<PackageReference Include="Shouldly" Version="4.3.0" /> <PackageReference Include="Shouldly" Version="4.3.0" />
<PackageReference Include="xunit" Version="2.9.3" /> <PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.extensibility.execution" Version="2.9.3" /> <PackageReference Include="xunit.extensibility.execution" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" /> <ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Authorization\Volo.Abp.Authorization.csproj" /> <ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Authorization\Volo.Abp.Authorization.csproj" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Guids\Volo.Abp.Guids.csproj" /> <ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Guids\Volo.Abp.Guids.csproj" />

2
templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj

@ -16,7 +16,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0-rc.*" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0-rc.*" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="9.0.0" /> <PackageReference Include="Serilog.Extensions.Hosting" Version="9.0.0" />
<PackageReference Include="Serilog.Extensions.Logging" Version="9.0.1" /> <PackageReference Include="Serilog.Extensions.Logging" Version="9.0.2" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" /> <PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
</ItemGroup> </ItemGroup>

Loading…
Cancel
Save