When I look at other project containing the version 5.2, it also does not have it but it works normally
Yes, because the Saas module used to depend on the Payment module, but with 5.3.* the situation has changed. You have to add it manually.
It is mentioned in this document: https://docs.abp.io/en/commercial/latest/migration-guides/v5_3
By the way within the new abp version, it also shows error on IIS. My web application is not running after deploying on IIS:
Thanks for the report, we are aware of this issue, and we will release a patch soon.
Related question: https://support.abp.io/QA/Questions/3297/CmsKit-Poll-issue-with-530-upgrade
I guess you don't have a reference to package Volo.Payment.EntityFrameworkCore.
Can you check if have Volo.Payment.EntityFrameworkCore
package in your MyProjectName.EntityFrameworkCore.csproj
file?
Unfortunately, as far as I know, there is no such mechanism. However, my advice would be to create a string property that holds the error message, and after catching the error with the try-catch block, assign the message to this property. Then it would be to shape the content of the modal UI according to whether the content of this property is empty or not.
Also, as far as I understand, the code samples I threw in my previous answer do not work for you, I guess they are not displayed in the modal. If so, could you please add a code block like the below to your modal and try?
@if (AlertManager.Alerts.Any())
{
<div class="row">
<div class="col-md-12 text-center mb-4 text-white">
@(await Component.InvokeAsync<PageAlertsViewComponent>())
</div>
</div>
}
Unfortunately, ABP's Tag Helpers are for MVC / Razor Pages applications only.
See: https://docs.abp.io/en/abp/latest/UI/AspNetCore/Tag-Helpers/Index#abp-tag-helpers
Since the abp update
command only updates the abp-related packages, it is normal to have incompatibility with other packages after the update command.
Please update all Microsoft.**
packages references from version 6.0.0
to version 6.0.5
. In addition, if there are other error-generating packages, you can upgrade them to the version specified in the log record.
Also, if your project doesn't work after that, you can follow the migration guide if there is one.
For this, you can create a method in MyProjectNamePageModel
as follows.
protected void ShowAlert(Exception exception)
{
Logger.LogException(exception);
var errorInfoConverter = LazyServiceProvider.LazyGetRequiredService<IExceptionToErrorInfoConverter>();
var errorInfo = errorInfoConverter.Convert(exception, options =>
{
options.SendExceptionsDetailsToClients = false;
options.SendStackTraceToClients = false;
});
Alerts.Danger(errorInfo.Message);
}
}
Source: https://github.com/abpframework/eventhub/blob/main/src/EventHub.Web/Pages/EventHubPageModel.cs#L16-L27
Then update your relevant page model to inherit from MyProjectNamePageModel
. Finally, you can catch the error with the try-catch block below and show it in UI.
try
{
// ...
// ...
return RedirectToPage("./Profile", new {name = organization.Name});
}
catch (Exception exception)
{
ShowAlert(exception); // this line
return Page();
}
Source: https://github.com/abpframework/eventhub/blob/main/src/EventHub.Web/Pages/Organizations/New.cshtml.cs#L36-L60
Can you run the following commands in order in the directory where the solution is located?
abp clean
dotnet build /graphBuild
Thanks for the report. I'll test the situation as soon as possible.
My recommendation is to use page alerts
for this situation. Showing modals in get
requests is not a good practice in terms of UX
because it makes the user feel as if there is a problem with the system.
https://docs.abp.io/en/abp/latest/UI/AspNetCore/Page-Alerts#basic-usage
Thank you for your detailed explanation. I understood the problem and I talked to the team about the problem, I learned that there is a breaking change for v5.0.0
.
You can see the details of the issue here: https://github.com/abpframework/abp/issues/9926
Then I added the marked code in the picture below to test the situation, and it worked fine when I made a request via swagger.
However breaks MVC pages and abp's js proxy scripts, which use ajax.
We discuss inside to find the most optimal solution to this problem.