<?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>Fri, 02 Oct 2026 18:14:32 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=EbubekirDinc" />
    <item>
      <guid isPermaLink="true">https://abp.io/community/posts/creating-a-new-ui-theme-by-copying-the-basic-theme-for-blazor-ui-qaf5ho1b</guid>
      <link>https://abp.io/community/posts/creating-a-new-ui-theme-by-copying-the-basic-theme-for-blazor-ui-qaf5ho1b</link>
      <a10:author>
        <a10:name>EbubekirDinc</a10:name>
        <a10:uri>https://abp.io/community/members/EbubekirDinc</a10:uri>
      </a10:author>
      <category>customization</category>
      <category>basic-theme</category>
      <title>Creating a new UI theme by copying the Basic Theme (for Blazor UI)</title>
      <description>In this article, we will create a new UI theme by copying the Basic Theme and make some changes to it. </description>
      <pubDate>Sun, 20 Dec 2020 14:32:40 Z</pubDate>
      <a10:updated>2026-10-02T13:55:29Z</a10:updated>
      <content:encoded><![CDATA[<h1>Creating a new UI theme by copying the Basic Theme (for Blazor)</h1>
<p>In this article, we will create a new UI theme by copying the Basic Theme and make some changes to it.
We have used a very similar approach previously for MVC UI <a href="https://community.abp.io/articles/creating-a-new-ui-theme-by-copying-the-basic-theme-for-mvc-ui-yt9b18io">here</a>.</p>
<p>This time we will make our own copy of Basic Theme for Blazor.</p>
<h2>In brief, the steps are:</h2>
<ul>
<li>Create a new solution with Blazor UI</li>
<li>Copy the <code>.BasicTheme</code> project into the solution from the Github repo</li>
<li>Remove the Basic Theme nuget package in the <code>.Blazor</code> project</li>
<li>Build <code>.BasicTheme</code> project and fix errors</li>
<li>Reference the newly added local <code>.BasicTheme</code> project in the <code>.Blazor</code> project</li>
<li>Make some changes in <code>.BasicTheme</code> project to see it in action</li>
</ul>
<p>Let's get into the details step by step.</p>
<h2>Create a new solution with Blazor UI</h2>
<p>Use the <code>new</code> command of the ABP CLI to create a new project:</p>
<pre><code class="language-shell">abp new CustomBlazorTheme -blazor
</code></pre>
<p>In case if you don't have ABP CLI installed on your environment, you can install or update it using the following commands.</p>
<pre><code class="language-shell">dotnet tool install -g Volo.Abp.Cli
dotnet tool update -g Volo.Abp.Cli
</code></pre>
<p>Now open the created solution in Visual Studio.</p>
<p>We need to apply migrations to create the database.</p>
<p>To apply database migrations right-click to the <code>.DbMigrator</code> project and select <strong>Set as StartUp Project</strong></p>
<p>Hit F5 to run the application.</p>
<p>When the database migrations successfully completed, close the debug console window.</p>
<p>Now right-click to the <code>.HttpApi.Host</code> project and click on <strong>Debug&gt;Start New Instance</strong>.
This opens the browser with the Swagger UI.
Then right-click to the <code>.Blazor</code> project and click on <strong>Debug&gt;Start New Instance</strong> to run also the client site of our project.</p>
<p>When you run the application, the index page will show up in your browser as seen below.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/CustomBlazorTheme/master/images/firstRun.png" alt="firstRun" /></p>
<h2>Copy the <code>.BasicTheme</code> project into the solution from the Github repo</h2>
<p>To create a new theme, copy the <a href="https://github.com/abpframework/abp/tree/dev/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme">WebAssembly BasicTheme Source Code</a> into your <code>src</code> folder.</p>
<p>Once you get a copy of the theme in your solution, right-click on the <code>src</code> folder and select Add &gt; Existing Project.
<img src="https://raw.githubusercontent.com/ebubekirdinc/CustomBlazorTheme/master/images/addExistingProject.png" alt="addExistingProject" /></p>
<p>In the file dialog select the <code>Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.csproj</code> file and click Open button to add the project to your solution.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/CustomBlazorTheme/master/images/selectBasicTheme.png" alt="selectBasicTheme" /></p>
<h2>Remove the Basic Theme nuget package in the <code>.Blazor</code> project</h2>
<p>To remove the <code>Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme</code> NuGet package in your <code>.Blazor</code> project right-click on your <code>.Blazor</code> project and click on <code>Manage Nuget Packages...</code></p>
<p>Then click Uninstall.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/CustomBlazorTheme/master/images/removeReference.png" alt="removeReference" /></p>
<h2>Build <code>.BasicTheme</code> project and fix errors</h2>
<p>When you build the <code>.BasicTheme</code> Project you will get some errors.</p>
<p>First, open the <code>Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.csproj</code> file and delete the 3 rows as seen in the image below
because these project references are not valid anymore.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/CustomBlazorTheme/master/images/deleteReferences.png" alt="deleteReferences" /></p>
<p>Then, right-click on your <code>.BasicTheme</code> project and click on <code>Manage Nuget Packages...</code></p>
<p>On the <code>Browse</code> tab, search for <code>Volo.Abp.AspNetCore.Components.WebAssembly.Theming</code> and install it.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/CustomBlazorTheme/master/images/installTheming.png" alt="installTheming" /></p>
<p>At the time of writing this article, this fixes the errors, but if you face other reference issues simply search for that package and install it.</p>
<p>Now build the <code>.BasicTheme</code> Project again and see if everything is ok.</p>
<h2>Reference the newly added local <code>.BasicTheme</code> project in the <code>.Blazor</code> project</h2>
<p>We will add a reference for the newly added <code>.BasicTheme</code> project in the <code>.Blazor</code> project.</p>
<p>For this right-click to Dependencies on your <code>.Blazor</code> project and click on <code>Add Project Reference</code></p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/CustomBlazorTheme/master/images/addProjectReference.png" alt="addProjectReference" /></p>
<p>In the opened window, select <code>.BasicTheme</code> project and click Ok.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/CustomBlazorTheme/master/images/addBasicTheme.png" alt="addBasicTheme" /></p>
<h2>Make some changes in <code>.BasicTheme</code> project to see it in action</h2>
<p>Time to make some changes.</p>
<p>Let's make a tiny change for the <code>Log In</code> text which is located at the main navbar.</p>
<p>To achieve this open the <code>LoginDisplay.razor</code> file located at /Themes/Basic/ folder.
And add <code>for more</code> after <code>Log In</code> text.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/CustomBlazorTheme/master/images/forMore.png" alt="forMore" /></p>
<p>Now right-click to the <code>.HttpApi.Host</code> project and click on <strong>Debug&gt;Start New Instance</strong>.
Then right-click to the <code>.Blazor</code> project and click on <strong>Debug&gt;Start New Instance</strong> to run also the client site of our project..</p>
<p>:tada: And Voila! here is the result.</p>
<p>Now, we have our own copy of the Basic Theme and can do whatever we want.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/CustomBlazorTheme/master/images/result.png" alt="result" /></p>
<p>From now on it is up to your imagination.<br />
You can modify the theme in your own copy of it.</p>
<p>Find more about ABP Blazor UI <a href="https://docs.abp.io/en/abp/latest/UI/Blazor/Overall">here</a>.</p>
<p>Get the source code on <a href="https://github.com/ebubekirdinc/CustomBlazorTheme">GitHub</a>.</p>
<p>Enjoy and have fun!</p>
]]></content:encoded>
      <media:thumbnail url="https://abp.io/api/posts/cover-picture-source/367aeacf-90dd-8b38-bb01-39f992bdec1c" />
      <media:content url="https://abp.io/api/posts/cover-picture-source/367aeacf-90dd-8b38-bb01-39f992bdec1c" medium="image" />
    </item>
    <item>
      <guid isPermaLink="true">https://abp.io/community/posts/creating-a-new-ui-theme-by-copying-the-basic-theme-for-mvc-ui-yt9b18io</guid>
      <link>https://abp.io/community/posts/creating-a-new-ui-theme-by-copying-the-basic-theme-for-mvc-ui-yt9b18io</link>
      <a10:author>
        <a10:name>EbubekirDinc</a10:name>
        <a10:uri>https://abp.io/community/members/EbubekirDinc</a10:uri>
      </a10:author>
      <category>customization</category>
      <category>mvc</category>
      <category>basic-theme</category>
      <title>Creating a new UI theme by copying the Basic Theme (for MVC UI)</title>
      <description>In this article, we will create a new UI theme by copying the Basic Theme and make some changes to it.</description>
      <pubDate>Sun, 13 Dec 2020 11:19:22 Z</pubDate>
      <a10:updated>2026-10-02T12:47:59Z</a10:updated>
      <content:encoded><![CDATA[<h1>Creating a new UI theme by copying the Basic Theme (for MVC UI)</h1>
<p>In this article, we will create a new UI theme by copying the Basic Theme and make some changes to it.</p>
<h2>In brief, the steps are:</h2>
<ul>
<li>Create a new solution</li>
<li>Copy the <code>.Theme.Basic</code> project into the solution from the Github repo</li>
<li>Remove the Basic Theme nuget package in the <code>.Web</code> project</li>
<li>Build <code>.Theme.Basic</code> project and fix errors</li>
<li>Reference the newly added local <code>.Theme.Basic</code> project in the <code>.Web</code> project</li>
<li>Make some changes in <code>.Theme.Basic</code> project to see it in action</li>
</ul>
<p>Let's get into the details step by step.</p>
<h2>Create a new solution</h2>
<p>Use the <code>new</code> command of the ABP CLI to create a new project:</p>
<pre><code class="language-shell">abp new MyTheme
</code></pre>
<p>In case if you don't have ABP CLI installed on your environment, you can install or update it using the following commands.</p>
<pre><code class="language-shell">dotnet tool install -g Volo.Abp.Cli
dotnet tool update -g Volo.Abp.Cli
</code></pre>
<p>Now open the created solution in Visual Studio.</p>
<p>We need to apply migrations to create the database.</p>
<p>To apply database migrations right-click to the <code>.DbMigrator</code> project and select <strong>Set as StartUp Project</strong></p>
<p>Hit F5 to run the application.</p>
<p>When the database migrations successfully completed, close the debug console window.</p>
<p>Now right-click to the <code>.Web</code> project and select <strong>Set as StartUp Project</strong></p>
<p>When you run the application, the index page will show up in your browser as seen below.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/MyTheme/master/images/firstRun.png" alt="firstRun" /></p>
<h2>Copy the <code>.Theme.Basic</code> project into the solution from the GitHub repo</h2>
<p>To create a new theme, copy the <a href="https://github.com/abpframework/abp/tree/dev/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic">Basic Theme Source Code</a> into your <code>src</code> folder.</p>
<p>Once you get a copy of the theme in your solution, right-click on the <code>src</code> folder and select Add &gt; Existing Project.
<img src="https://raw.githubusercontent.com/ebubekirdinc/MyTheme/master/images/addExistingProject.png" alt="addExistingProject" /></p>
<p>In the file dialog select the <code>Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj</code> file and click Open button to add the project to your solution.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/MyTheme/master/images/selectBasicTheme.png" alt="selectBasicTheme" /></p>
<h2>Remove the Basic Theme nuget package in the <code>.Web</code> project</h2>
<p>To remove the <code>Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic</code> NuGet package in your <code>.Web</code> project right-click on your <code>.Web</code> project and click on <code>Manage Nuget Packages...</code></p>
<p>Then click Uninstall.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/MyTheme/master/images/removeReference.png" alt="removeReference" /></p>
<h2>Build <code>.Theme.Basic</code> project and fix errors</h2>
<p>When you build the <code>.Theme.Basic</code> Project you will get some errors.</p>
<p>First, open the <code>Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj</code> file and delete the 4 rows as seen in the image below
because these project references are not valid anymore.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/MyTheme/master/images/deleteReferences.png" alt="deleteReferences" /></p>
<p>Then, right-click on your <code>.Theme.Basic</code> project and click on <code>Manage Nuget Packages...</code></p>
<p>On the <code>Browse</code> tab, search for <code>Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy</code> and install it.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/MyTheme/master/images/installMultitenancy.png" alt="installMultitenancy" /></p>
<p>At the time of writing this article, this fixes the errors, but if you face other reference issues simply search for that package and install it.</p>
<p>Now build the <code>.Theme.Basic</code> Project again and see if everything is ok.</p>
<h2>Reference the newly added local <code>.Theme.Basic</code> project in the <code>.Web</code> project</h2>
<p>We will add a reference for the newly added <code>.Theme.Basic</code> project in the <code>.Web</code> project.</p>
<p>For this right-click to Dependencies on your <code>.Web</code> project and click on <code>Add Project Reference</code></p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/MyTheme/master/images/addProjectReference.png" alt="addProjectReference" /></p>
<p>In the opened window, select <code>.Theme.Basic</code> project and click Ok.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/MyTheme/master/images/addBasicTheme.png" alt="addBasicTheme" /></p>
<h2>Make some changes in <code>.Theme.Basic</code> project to see it in action</h2>
<p>Time to make some changes.</p>
<p>Open the layout file <code>Application.cshtml</code> file located at /Themes/Basic/Layouts folder in the <code>.Theme.Basic</code> project.
This is the default layout which is used by the main application pages.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/MyTheme/master/images/layout.png" alt="layout" /></p>
<p>Here we can see that the layout composed of some ViewComponents.</p>
<p>Let's add some text next to the branding name located at the main navbar.</p>
<p>To achieve this open the <code>Default.cshtml</code> file located at /Themes/Basic/Components/Brand folder.
And add <code>Hi! There</code> after <code>@BrandingProvider.AppName</code>, and run the <code>.Web</code> project.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/MyTheme/master/images/hiThere.png" alt="hiThere" /></p>
<p>🏆And Voila! here is the result.</p>
<p>Now, we have our own copy of the Basic Theme and can do whatever we want.</p>
<p><img src="https://raw.githubusercontent.com/ebubekirdinc/MyTheme/master/images/result.png" alt="result" /></p>
<p>From now on it is up to your imagination.</p>
<p>You can modify the theme, add your custom css/js files, or your custom ViewComponents, etc.</p>
<p>Find more about adding global styles/scripts and other fundamentals about ABP theming <a href="https://docs.abp.io/en/abp/latest/UI/AspNetCore/Theming">here</a>.</p>
<p>For Bundling &amp; Minification check <a href="https://docs.abp.io/en/abp/latest/UI/AspNetCore/Bundling-Minification">this</a> document.</p>
<p>Get the source code on <a href="https://github.com/ebubekirdinc/MyTheme">GitHub</a>.</p>
<p>Enjoy and have fun!</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>