Skip to main content

MsBuild Package

CSharpier can be run when a project is built by installing the CSharpier.MSBuild nuget package

Install-Package CSharpier.MSBuild

By default this will

  • In Debug - on build will run dotnet csharpier in the project folder to format all files in the project.
  • In Release - on build will run dotnet csharpier --check in the project folder to validate that all files in the project have already been formatted.

Properties

Check

You can control when --check is used with the following Property

  <PropertyGroup>
    <CSharpier_Check>false</CSharpier_Check>
  </PropertyGroup>

Bypass

You can bypass running CSharpier using the CSharpier_Bypass Property

  <PropertyGroup>
    <CSharpier_Bypass>true</CSharpier_Bypass>
  </PropertyGroup>
dotnet publish -c release -o /app --no-restore /p:CSharpier_Bypass=true

Log Level

You can control the value passed to --loglevel with the following Property

  <PropertyGroup>
    <CSharpier_LogLevel>Error</CSharpier_LogLevel>
  </PropertyGroup>

Valid options are:

  • None
  • Error
  • Warning
  • Information (default)
  • Debug

Target Frameworks

CSharpier.MSBuild will be run with net6.0, net7.0 or net8.0 if the project targets one of the three frameworks. In cases where the project targets something else (net48, netstandard2.0) CSharpier_FrameworkVersion will default to net7.0 This can be controlled with the following property. This property is required if the csproj is targeting < net6.0 (netstandard2.0, net48, etc) and net7.0 is not installed.

  <PropertyGroup>
    <CSharpier_FrameworkVersion>net6.0</CSharpier_FrameworkVersion>
  </PropertyGroup>