このブログは Statiq で生成しているがメリットは.NET Core(現在は.NET 5を使用)で実行できること。つまりWindowsでもMacでも実行できることが売りにもなる。
少し前だが私のメイン環境を ASUSの15インチノート から MacBook Air (2020) に入れ替えた。 macOSそれもM1チップの開発環境となったが前述のStatiqは環境が変わっても使える。
本題のStatiqのレイアウトで使用するRazor構文でDEBUG定数(条件付きコンパイルシンボル)を使う点について、Windowsとの環境の違いかコードの途中に差し込む形での使用は正しく機能しないようだった。
以下、正しく機能した書き方を記しておく。
public static class Consts
{
#if DEBUG
public const bool IS_DEBUG = true;
#else
public const bool IS_DEBUG = false;
#endif
}
@if (Consts.IS_DEBUG) {
<div>DEBUG</div>
}
参考
C# プリプロセッサ ディレクティブ | Microsoft Docs
c# - Preprocessor directives in Razor - Stack Overflow