Visual Studio 2022 C# の ビルドイベントで、色々処理しようと思ったのですが
Mcrosoft公式の下記記事には存在しなかったので、調べてみました。


正式に公開されているものではないのですので、
Visual Studioのバージョンアップなどでなくなる可能性もありますが、
下位互換のため、なくならない可能性も高いと思っています。
なので、私は使用しています。


下記が、記事にのっていない 使えそうなマクロの一覧です。
使用しているフレームワークによっては内容が変わる
と思いますので、その点はご了承願います。
マクロ説明
$(AssemblyName)$(ProjectName)

と同じ
$(AssemblyVersion)プロジェクトのプロパティで設定した
「アッセンブリ バージョン」
1.0.0.0など
$(BaseIntermediateOutputPath)プロジェクトのプロパティで設定した
「基本中間出力パス」
obj\など
$(ClickOncePublishDir)$(OutDir)publish\

と同じ
bin\Debug\net6.0-windows10.0.22621.0\publish\など
$(Configuration)$(ConfigurationName)

と同じ
DebugReleaseなど
$(FrameworkSDKRoot)C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\

インストール先によって変わります
$(IntermediateOutputPath)$(BaseIntermediateOutputPath)$(ConfigurationName)\$(TargetFramework)\

と同じ
obj\Debug\net6.0-windows10.0.22621.0\など
$(Language)開発言語
C#など
$(MSBuildProjectDirectoryNoRoot)$(ProjectDir) のドライブ名無し
$(MSBuildProjectExtensionsPath)$(ProjectDir)obj\

と同じ
$(MSBuildProjectFile)$(ProjectFileName)

と同じ
$(MSBuildProjectFullPath)$(ProjectPath)

と同じ
$(MSBuildProjectName)$(ProjectName)

と同じ
$(MSBuildRuntimeVersion)不明
$(MSBuildSDKsPath)C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Sdks

インストール先によって変わります
$(OutputPath)$(OutDir)

と同じ
$(OutputType)プロジェクトのプロパティで設定した
「出力の種類」
WinExeなど
$(Platform)$(PlatformName)

と同じ
$(PlatformTarget)プロジェクトのプロパティで設定した
「プラットフォーム ターゲット」
x64x86など
$(PlatformTargetAsMSBuildArchitectureプロジェクトのプロパティで設定した
「プラットフォーム ターゲット」
x64x86など
$(PublishDir)$(OutDir)publish\
と同じ
$(SupportedOSPlatformVersion)プロジェクトのプロパティで設定した
「サポートされている OS バージョン」
10.0.17763.0など
$(TargetDeployManifestFileName)$(ProjectName).application

と同じ
$(TargetFramework)プロジェクトのプロパティで設定した
「ターゲット フレームワーク」と「ターゲット OS」のTFM
net6.0-windows10.0.22621.0など
$(TargetFrameworkVersion)プロジェクトのプロパティで設定した
「ターゲット フレームワーク」のバージョン
v6.0
$(TargetPlatformDisplayName)$(TargetPlatformIdentifier) $(TargetPlatformVersion)

と同じ
Windows 10.0.22621.0など
$(TargetPlatformIdentifier)プロジェクトのプロパティで設定した
「ターゲット OS」
Windowsなど
$(TargetPlatformVersion)プロジェクトのプロパティで設定した
「ターゲット OS バージョン」
10.0.22621.0など
$(TargetedSDKConfiguration)$(ConfigurationName)

と同じ
DebugReleaseなど



ご自分の環境で、どのような値か確認するには、
下記をビルド前のイベントに追記してみてください。
ECHO ■■■■■■■■■■■■■■■■■■■■
ECHO 公開されているマクロ
ECHO ConfigurationName = $(ConfigurationName)
ECHO DevEnvDir         = $(DevEnvDir)
ECHO OutDir            = $(OutDir)
ECHO PlatformName      = $(PlatformName)
ECHO ProjectDir        = $(ProjectDir)
ECHO ProjectExt        = $(ProjectExt)
ECHO ProjectFileName   = $(ProjectFileName)
ECHO ProjectName       = $(ProjectName)
ECHO ProjectPath       = $(ProjectPath)
ECHO SolutionDir       = $(SolutionDir)
ECHO SolutionExt       = $(SolutionExt)
ECHO SolutionFileName  = $(SolutionFileName)
ECHO SolutionName      = $(SolutionName)
ECHO SolutionPath      = $(SolutionPath)
ECHO TargetDir         = $(TargetDir)
ECHO TargetExt         = $(TargetExt)
ECHO TargetFileName    = $(TargetFileName)
ECHO TargetName        = $(TargetName)
ECHO TargetPath        = $(TargetPath)
ECHO.
ECHO ■■■■■■■■■■■■■■■■■■■■
ECHO 公開されていないマクロ
ECHO AssemblyName                        = $(AssemblyName)
ECHO BaseIntermediateOutputPath          = $(BaseIntermediateOutputPath)
ECHO ClickOncePublishDir                 = $(ClickOncePublishDir)
ECHO Configuration                       = $(Configuration)
ECHO FrameworkSDKRoot                    = $(FrameworkSDKRoot)
ECHO IntermediateOutputPath              = $(IntermediateOutputPath)
ECHO MSBuildProjectDirectoryNoRoot       = $(MSBuildProjectDirectoryNoRoot)
ECHO MSBuildProjectExtensionsPath        = $(MSBuildProjectExtensionsPath)
ECHO MSBuildProjectFile                  = $(MSBuildProjectFile)
ECHO MSBuildProjectFullPath              = $(MSBuildProjectFullPath)
ECHO MSBuildProjectName                  = $(MSBuildProjectName)
ECHO MSBuildRuntimeVersion               = $(MSBuildRuntimeVersion)
ECHO MSBuildSDKsPath                     = $(MSBuildSDKsPath)
ECHO OutputPath                          = $(OutputPath)
ECHO OutputType                          = $(OutputType)
ECHO Platform                            = $(Platform)
ECHO PlatformTarget                      = $(PlatformTarget)
ECHO PlatformTargetAsMSBuildArchitecture = $(PlatformTargetAsMSBuildArchitecture)
ECHO PublishDir                          = $(PublishDir)
ECHO SupportedOSPlatformVersion          = $(SupportedOSPlatformVersion)
ECHO TargetDeployManifestFileName        = $(TargetDeployManifestFileName)
ECHO TargetFramework                     = $(TargetFramework)
ECHO TargetFrameworkVersion              = $(TargetFrameworkVersion)
ECHO TargetPlatformDisplayName           = $(TargetPlatformDisplayName)
ECHO TargetPlatformIdentifier            = $(TargetPlatformIdentifier)
ECHO TargetPlatformVersion               = $(TargetPlatformVersion)
ECHO TargetedSDKConfiguration            = $(TargetedSDKConfiguration)
ECHO.
ECHO ■■■■■■■■■■■■■■■■■■■■
お役に立てれば、幸いです。