Written by the creator of ABP Framework, this book will help you to gain a complete understanding of the ABP Framework and modern web application development techniques.
* [Buy on Amazon](https://www.amazon.com/gp/product/B097Z2DM8Q)
* [Buy on Packt Publishing](https://www.packtpub.com/product/mastering-abp-framework/9781801079242)
* [More details about the book](https://abp.io/books/mastering-abp-framework)
"Purchase_LicenseExtraDeveloperPurchaseMessage":"رخصة <span class=\"fw-6\">{0} </span> تحتوي على {1} مطور/ين. يمكنك إضافة مطورين إضافيين الآن أو لاحقًا.",
"StartupTemplates_Page_Title":"عارضات بدء التشغيل",
"Purchase_LicenseExtraDeveloperPurchaseMessage":"The <span class=\"fw-bold\">{0} License</span> includes {1} developers. You can add additional developers.",
"Purchase_OnboardingTraining_Description":"This live training package is valid for a class of 8 students and this discount is only valid when purchased with the new license. <a href=\"{0}\" class=\"text-white\">Learn more <i class=\"fa fa-external-link ms-1\"></i></a>",
"Purchase_OnboardingTraining_Description":"This live training is valid for a class of 8 students and this discount is only valid when purchased with the new license. <a href=\"{0}\" class=\"text-white\">Learn more <i class=\"fa fa-external-link ms-1\"></i></a>",
"DocumentAim":"This document aims to answer the big question:",
@ -1086,6 +1086,9 @@
"CampaignDiscountText":"Black Friday Discount",
"CampaignDiscountName":"Black Friday",
"CampaignName:BlackFriday":"Black Friday",
"MultipleOrganizationInfo":"See All Your Organizations"
"MultipleOrganizationInfo":"See All Your Organizations",
"AbpStudioBetaAccessInfoTitle":"ABP Studio Beta Access",
"AbpStudioBetaAccessInfoText":"We're thrilled to share with you the <span class=\"text-highlight-white\">beta</span> version of <span class=\"text-highlight-white\">ABP Studio</span>! This release marks a significant milestone in our development journey, and we're eager to gather your feedback to make the application even better.",
"YouAreNotAuthorizedToDownloadStudio":"You are not authorized to download ABP Studio."
"Purchase_LicenseExtraDeveloperPurchaseMessage":"<span class=\"fw-6\">{0} lisenssi</span> sisältää {1} kehittäjää. Voit lisätä uusia kehittäjiä nyt tai myöhemmin.",
"Purchase_LicenseExtraDeveloperPurchaseMessage":"A(z) <span class=\"fw-6\">{0} licensz</span> {1} fejlesztőt tartalmaz. Hozzáadhat további fejlesztőket most vagy később.",
"Purchase_LicenseExtraDeveloperPurchaseMessage":"<span class=\"fw-6\">{0} lisansı</span> {1} geliştirici(ler) içerir. Şimdi veya daha sonra ek geliştiriciler ekleyebilirsiniz.",
"StartupTemplates_Page_Title":"ABP Başlangıç Şablonları",
@ -12,7 +12,7 @@ This document is for who wants to better understand how the ABP Framework is ini
A .NET Console application is the minimalist .NET application. So, it is best to show the installing of the ABP Framework to a console application as a minimalist example.
If you [create a new console application with Visual Studio](https://learn.microsoft.com/en-us/dotnet/core/tutorials/with-visual-studio) (for .NET 7.0 or later), you will see the following solution structure (I named the solution as `MyConsoleDemo`):
If you [create a new console application with Visual Studio](https://learn.microsoft.com/en-us/dotnet/core/tutorials/with-visual-studio) (for .NET 8.0 or later), you will see the following solution structure (I named the solution as `MyConsoleDemo`):
@ -258,7 +258,7 @@ The `IAbpApplication` interface extends the `IApplicationInfoAccessor` interface
## IAbpHostEnvironment
Sometimes, while creating an application, we need to get the current hosting environment and take actions according to that. In such cases, we can use some services such as [IWebHostEnvironment](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.hosting.iwebhostenvironment?view=aspnetcore-7.0) or [IWebAssemblyHostEnvironment](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.components.webassembly.hosting.iwebassemblyhostenvironment) provided by .NET, in the final application.
Sometimes, while creating an application, we need to get the current hosting environment and take actions according to that. In such cases, we can use some services such as [IWebHostEnvironment](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.hosting.iwebhostenvironment?view=aspnetcore-8.0) or [IWebAssemblyHostEnvironment](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.components.webassembly.hosting.iwebassemblyhostenvironment) provided by .NET, in the final application.
However, we can not use these services in a class library, which is used by the final application. ABP Framework provides the `IAbpHostEnvironment` service, which allows you to get the current environment name whenever you want. `IAbpHostEnvironment` is used by the ABP Framework in several places to perform specific actions by the environment. For example, ABP Framework reduces the cache duration on the **Development** environment for some services.
@ -18,7 +18,7 @@ First things first! Let's setup your development environment before creating the
The following tools should be installed on your development machine:
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 7.0+](https://dotnet.microsoft.com/download/dotnet) development.
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 8.0+](https://dotnet.microsoft.com/download/dotnet) development.
{{ if UI != "Blazor" }}
* [Node v16 or v18](https://nodejs.org/)
* [Yarn v1.20+ (not v2)](https://classic.yarnpkg.com/en/docs/install) <supid="a-yarn">[1](#f-yarn)</sup> or npm v6+ (already installed with Node)
@ -19,7 +19,7 @@ First things first! Let's setup your development environment before creating the
The following tools should be installed on your development machine:
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 7.0+](https://dotnet.microsoft.com/download/dotnet) development.
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 8.0+](https://dotnet.microsoft.com/download/dotnet) development.
{{ if UI != "Blazor" }}
* [Node v16 or v18](https://nodejs.org/)
* [Yarn v1.20+ (not v2)](https://classic.yarnpkg.com/en/docs/install) <supid="a-yarn">[1](#f-yarn)</sup> or npm v6+ (already installed with Node)
@ -52,7 +52,7 @@ This documentation has a video tutorial on **YouTube**!! You can watch it here:
## Pre-Requirements
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 7.0+](https://dotnet.microsoft.com/download/dotnet) development.
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 8.0+](https://dotnet.microsoft.com/download/dotnet) development.
@ -48,7 +48,7 @@ This documentation has a video tutorial on **YouTube**!! You can watch it here:
## Pre-Requirements
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 7.0+](https://dotnet.microsoft.com/download/dotnet) development.
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 8.0+](https://dotnet.microsoft.com/download/dotnet) development.
"DefaultErrorMessage403":"You are not authorized!",
"DefaultErrorMessage403Detail":"You are not allowed to perform this operation!",
"DefaultErrorMessage404":"Resource not found!",
"DefaultErrorMessage404Detail":"The resource requested could not found on the server!",
"DefaultErrorMessage404Detail":"The resource requested could not be found on the server!",
"EntityNotFoundErrorMessage":"There is no entity {0} with id = {1}!",
"AbpDbConcurrencyErrorMessage":"The data you have submitted has already changed by another user/client. Please discard the changes you've done and try from the beginning.",