Visual Studio 2022 C# の ビルドイベントで、色々処理しようと思ったのですが
Mcrosoft公式の下記記事には存在しなかったので、調べてみました。
なので、私は使用しています。
下記が、記事にのっていない 使えそうなマクロの一覧です。
使用しているフレームワークによっては内容が変わる
と思いますので、その点はご了承願います。
ご自分の環境で、どのような値か確認するには、
下記をビルド前のイベントに追記してみてください。
Mcrosoft公式の下記記事には存在しなかったので、調べてみました。
- [ビルド前に実行するコマンド ライン] / [ビルド後に実行するコマンド ライン] ダイアログ ボックス
- Pre-build event/post-build event command line dialog box
| 正式に公開されているものではないのですので、 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) と同じ DebugやReleaseなど |
| $(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) | プロジェクトのプロパティで設定した 「プラットフォーム ターゲット」 x64やx86など |
| $(PlatformTargetAsMSBuildArchitecture | プロジェクトのプロパティで設定した 「プラットフォーム ターゲット」 x64やx86など |
| $(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) と同じ DebugやReleaseなど |
ご自分の環境で、どのような値か確認するには、
下記をビルド前のイベントに追記してみてください。
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 ■■■■■■■■■■■■■■■■■■■■
お役に立てれば、幸いです。
コメント