A .NET MSBuild integration package for TailwindCSS that automatically compiles your TailwindCSS files during the build process. This package includes cross-platform TailwindCSS standalone executables and provides seamless integration with .NET projects.
- 🚀 Automatic compilation during MSBuild process
- 📦 No Node.js dependency - uses standalone TailwindCSS CLI
- 🔧 MSBuild integration with customizable properties
Install the NuGet package in your .NET project:
dotnet add package DotnetDevKR.TailwindCSS
Warning
Rebuilding when dotnet watch
is not working, so If you use dotnet watch
, hit Ctrl
+ R
- Install the package in your project
- Create a TailwindCSS input file (e.g.,
tailwind.css
):@import "tailwindcss";
- Configure MSBuild properties in your
.csproj
file:<Target Name="Configure" BeforeTargets="RunTailwindCSSTask"> <PropertyGroup> <InputFilename>$(ProjectDir)tailwind.css</InputFilename> <OutputFilename>wwwroot\css\app.css</OutputFilename> <IsMinify>false</IsMinify> <DebugMode>true</DebugMode> </PropertyGroup> </Target>
- Build your project - TailwindCSS will be compiled automatically!
Configure the TailwindCSS compilation by setting these properties in your project file:
Property | Description | Default | Required |
---|---|---|---|
InputFilename |
Path to the input TailwindCSS file | - | No |
OutputFilename |
Path where the compiled CSS will be saved | - | ✅ Yes |
IsMinify |
Enable CSS minification | false |
No |
DebugMode |
Generate source maps | false |
No |
ProjectDir |
Project directory for TailwindCSS context | Current directory | No |
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DotnetDevKR.TailwindCSS" Version="0.0.1" />
</ItemGroup>
<Target Name="Configure" BeforeTargets="RunTailwindCSSTask">
<PropertyGroup>
<InputFilename>$(ProjectDir)tailwind.css</InputFilename>
<OutputFilename>wwwroot\css\app.css</OutputFilename>
<IsMinify Condition="'$(Configuration)' == 'Release'">true</IsMinify>
<DebugMode Condition="'$(Configuration)' == 'Debug'">true</DebugMode>
</PropertyGroup>
</Target>
</Project>
- Set
DebugMode="true"
to generate source maps - Set
IsMinify="false"
for readable CSS output
- Set
IsMinify="true"
to reduce file size - Set
DebugMode="false"
to disable source maps
Check out the DotnetDevKR.TailwindCSS.WebTest
folder for a complete Blazor WebAssembly example that demonstrates:
- Basic TailwindCSS integration
- MSBuild configuration
- File structure organization
- MSBuild Integration: The package registers a build task that runs before the main build
- Platform Detection: Automatically detects your OS and architecture
- TailwindCSS Execution: Runs the appropriate TailwindCSS standalone executable
- File Processing: Compiles your input CSS file and outputs the result
- .NET 6.0 or higher
- Any platform supported by .NET (Windows, macOS, Linux)
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the Mozilla Public License 2.0 - see the LICENSE.md file for details.
- TailwindCSS for the amazing CSS framework (MIT LICENSE)
- TailwindCSS CLI for the standalone executable
- AspNetCore.SassCompiler – inspiration for CSS compilation and tooling integration
Made with ❤️ by DotnetDevKR and Forum