<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
  <channel xmlns:media="http://search.yahoo.com/mrss/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <title>ABP.IO Stories</title>
    <link>https://abp.io/community/articles</link>
    <description>A hub for ABP Framework, .NET, and software development. Access articles, tutorials, news, and contribute to the ABP community.</description>
    <lastBuildDate>Sun, 08 Mar 2026 20:42:56 Z</lastBuildDate>
    <generator>Community - ABP.IO</generator>
    <image>
      <url>https://abp.io/assets/favicon.ico/favicon-32x32.png</url>
      <title>ABP.IO Stories</title>
      <link>https://abp.io/community/articles</link>
    </image>
    <a10:link rel="self" type="application/rss+xml" title="self" href="https://abp.io/community/rss?member=mucahiddanis" />
    <item>
      <guid isPermaLink="true">https://abp.io/community/posts/using-the-adminlte-theme-with-the-abp-framework-mvc-razor-pages-ui-gssbhb7m</guid>
      <link>https://abp.io/community/posts/using-the-adminlte-theme-with-the-abp-framework-mvc-razor-pages-ui-gssbhb7m</link>
      <a10:author>
        <a10:name>mucahiddanis</a10:name>
        <a10:uri>https://abp.io/community/members/mucahiddanis</a10:uri>
      </a10:author>
      <category>AdminLTE</category>
      <category>mvc</category>
      <title>Using the AdminLTE Theme with the ABP Framework MVC / Razor Pages UI</title>
      <description>Using AdminLTE theme for ABP MVC / Razor Page applications.</description>
      <pubDate>Mon, 05 Oct 2020 13:12:42 Z</pubDate>
      <a10:updated>2026-03-08T10:33:59Z</a10:updated>
      <content:encoded><![CDATA[<h1>Using the AdminLTE Theme with the ABP Framework MVC / Razor Pages UI</h1>
<p>This article shows step by step how to use the AdminLTE Theme for ABP Framework MVC / Razor Page UI applications.</p>
<p>First, let's install the ABP CLI tool using the command below.</p>
<pre><code class="language-shell">dotnet tool install -g Volo.Abp.Cli
</code></pre>
<p>If it's already installed, you can update it with the following command:</p>
<pre><code class="language-shell">dotnet tool update -g Volo.Abp.Cli
</code></pre>
<p>Let's create a sample new project to apply the theme:</p>
<pre><code class="language-shell">abp new AbpThemeAdminLte
</code></pre>
<p>Let's create a <strong>theme</strong> folder for the theme project in the project main directory and go to the <strong>theme</strong> directory on the command line:</p>
<pre><code class="language-shell">mkdir theme
cd theme
</code></pre>
<p>Let's get the <strong>AdminLTE</strong> theme module project for ABP via git:</p>
<pre><code class="language-shell">git clone https://github.com/mucahiddanis/Abp.AspNetCore.Mvc.UI.Theme.AdminLTE.git
</code></pre>
<p>Go back to the project main directory:</p>
<pre><code class="language-shell">cd ..
cd ..
</code></pre>
<p>Let's add the AdminLTE theme project to the <strong>sln</strong> file:</p>
<pre><code class="language-shell">dotnet sln add theme/Abp.AspNetCore.Mvc.UI.Theme.AdminLTE/Abp.AspNetCore.Mvc.UI.Theme.AdminLTE.csproj
</code></pre>
<p>Let's reference the AdminLTE theme project in our <code>AbpThemeAdminLte.Web</code> project:</p>
<pre><code class="language-shell">&lt;ProjectReference Include=&quot;..\..\theme\Abp.AspNetCore.Mvc.UI.Theme.AdminLTE\Abp.AspNetCore.Mvc.UI.Theme.AdminLTE.csproj&quot; /&gt;
</code></pre>
<p>Configure our theme in the <code>AbpThemeAdminLte.Web.AbpThemeAdminLteWebModule.cs</code> web module:</p>
<pre><code class="language-csharp">[DependsOn(
        typeof(AbpThemeAdminLteHttpApiModule),
        typeof(AbpThemeAdminLteApplicationModule),
        typeof(AbpThemeAdminLteEntityFrameworkCoreDbMigrationsModule),
        typeof(AbpAutofacModule),
        typeof(AbpIdentityWebModule),
        typeof(AbpAccountWebIdentityServerModule),
        typeof(AbpAspNetCoreMvcUiBasicThemeModule),
        typeof(AbpAspNetCoreAuthenticationJwtBearerModule),
        typeof(AbpTenantManagementWebModule),
        typeof(AbpAspNetCoreSerilogModule)
        )]
    public class AbpThemeAdminLteWebModule : AbpModule
</code></pre>
<pre><code class="language-csharp">typeof(AbpAspNetCoreMvcUiBasicThemeModule),
</code></pre>
<p>Let's add the following code below the code above:</p>
<pre><code class="language-csharp">typeof(AbpAspNetCoreMvcUiAdminLTEThemeModule),
</code></pre>
<p>Add <strong>using</strong> to reference theme project</p>
<pre><code class="language-csharp">using Abp.AspNetCore.Mvc.UI.Theme.AdminLTE;
</code></pre>
<p>The <strong>DependsOn</strong> list should finally be:</p>
<pre><code class="language-csharp">[DependsOn(
        typeof(AbpThemeAdminLteHttpApiModule),
        typeof(AbpThemeAdminLteApplicationModule),
        typeof(AbpThemeAdminLteEntityFrameworkCoreDbMigrationsModule),
        typeof(AbpAutofacModule),
        typeof(AbpIdentityWebModule),
        typeof(AbpAccountWebIdentityServerModule),
        typeof(AbpAspNetCoreMvcUiBasicThemeModule),
        typeof(AbpAspNetCoreMvcUiAdminLTEThemeModule),
        typeof(AbpAspNetCoreAuthenticationJwtBearerModule),
        typeof(AbpTenantManagementWebModule),
        typeof(AbpAspNetCoreSerilogModule)
        )]
    public class AbpThemeAdminLteWebModule : AbpModule
</code></pre>
<p>Let's set <strong>VirtualFileSystem</strong> for the source files of AdminLTE theme such as css, js, image. For this, <code>AbpThemeAdminLte.Web.AbpThemeAdminLteWebModule.cs</code> in the file. Let's add to the <code>ConfigureVirtualFileSystem</code> method:</p>
<pre><code class="language-chasrp">private void ConfigureVirtualFileSystem(IWebHostEnvironment hostingEnvironment)
        {
            if (hostingEnvironment.IsDevelopment())
            {
                Configure&lt;AbpVirtualFileSystemOptions&gt;(options =&gt;
                {
                    options.FileSets.ReplaceEmbeddedByPhysical&lt;AbpThemeAdminLteDomainSharedModule&gt;(Path.Combine(hostingEnvironment.ContentRootPath, $&quot;..{Path.DirectorySeparatorChar}AbpThemeAdminLte.Domain.Shared&quot;));
                    options.FileSets.ReplaceEmbeddedByPhysical&lt;AbpThemeAdminLteDomainModule&gt;(Path.Combine(hostingEnvironment.ContentRootPath, $&quot;..{Path.DirectorySeparatorChar}AbpThemeAdminLte.Domain&quot;));
                    options.FileSets.ReplaceEmbeddedByPhysical&lt;AbpThemeAdminLteApplicationContractsModule&gt;(Path.Combine(hostingEnvironment.ContentRootPath, $&quot;..{Path.DirectorySeparatorChar}AbpThemeAdminLte.Application.Contracts&quot;));
                    options.FileSets.ReplaceEmbeddedByPhysical&lt;AbpThemeAdminLteApplicationModule&gt;(Path.Combine(hostingEnvironment.ContentRootPath, $&quot;..{Path.DirectorySeparatorChar}AbpThemeAdminLte.Application&quot;));
                    options.FileSets.ReplaceEmbeddedByPhysical&lt;AbpThemeAdminLteWebModule&gt;(hostingEnvironment.ContentRootPath);

                    // AdminLTE teması
                    options.FileSets.ReplaceEmbeddedByPhysical&lt;AbpThemeAdminLteApplicationModule&gt;(Path.Combine(hostingEnvironment.ContentRootPath, $&quot;..{Path.DirectorySeparatorChar}..{Path.DirectorySeparatorChar}Abp.AspNetCore.Mvc.UI.Theme.AdminLTE&quot;));
                });
            }
        }
</code></pre>
<p>Let's <strong>Build</strong> the project.</p>
<p>Let's run the <code>AbpThemeAdminLte.DbMigrator</code> and <code>AbpThemeAdminLte.Web</code> project.</p>
<p><img src="https://raw.githubusercontent.com/mucahiddanis/Abp.AspNetCore.Mvc.UI.Theme.AdminLTE/main/screenshots/login.png" alt="login" /></p>
<p><img src="https://raw.githubusercontent.com/mucahiddanis/Abp.AspNetCore.Mvc.UI.Theme.AdminLTE/main/screenshots/home.png" alt="home" /></p>
<p><img src="https://raw.githubusercontent.com/mucahiddanis/Abp.AspNetCore.Mvc.UI.Theme.AdminLTE/main/screenshots/user-management.png" alt="user-management" /></p>
<p><img src="https://raw.githubusercontent.com/mucahiddanis/Abp.AspNetCore.Mvc.UI.Theme.AdminLTE/main/screenshots/user-management-permissions.png" alt="user-management-permissions" /></p>
<p><img src="https://raw.githubusercontent.com/mucahiddanis/Abp.AspNetCore.Mvc.UI.Theme.AdminLTE/main/screenshots/account-manage.png" alt="account-manage" /></p>
<p><strong>Version Update</strong></p>
<p>Active version</p>
<blockquote>
<p>ABP v3.2.0</p>
</blockquote>
<p>You just need to update the versions of ABP packages in the theme project file <code>Abp.AspNetCore.Mvc.UI.Theme.AdminLTE.csproj</code>.</p>
<p><img src="https://raw.githubusercontent.com/mucahiddanis/Abp.AspNetCore.Mvc.UI.Theme.AdminLTE/main/screenshots/theme-abp-package-references.png" alt="theme-abp-package-references" /></p>
]]></content:encoded>
      <media:thumbnail url="https://abp.io/images/others/blank-cover-image-150_79.png" />
      <media:content url="https://abp.io/images/others/blank-cover-image-150_79.png" medium="image" />
    </item>
  </channel>
</rss>