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 ■■■■■■■■■■■■■■■■■■■■お役に立てれば、幸いです。
コメント