Link to all Visual Studio $ variables

后端 未结 7 865
悲哀的现实
悲哀的现实 2020-11-28 01:41

I was having a look at $(Configuration),$(ProjectDir) etc. in Visual Studio 2008 for Prebuild events.

Is there a link to all of these varia

相关标签:
7条回答
  • 2020-11-28 01:59

    If you need to find values for variables other than those standard VS macros, you could do that easily using Process Explorer. Start it, find the process your Visual Studio instance runs in, right click, Properties Environment. It lists all those $ vars as key-value pairs:

    0 讨论(0)
  • 2020-11-28 02:06

    Nikita's answer is nice for the macros that Visual Studio sets up in its environment, but this is far from comprehensive. (Environment variables become MSBuild macros, but not vis-a-versa.)

    Slight tweak to ojdo's answer: Go to the "Pre-build event command line" in "Build Events" of the IDE for any project (where you find this in the IDE may depend on the language, i.e. C#, c++, etc. See other answers for location.) Post the code below into the "Pre-build event command line", then build that project. After the build starts, you will have a "macros.txt" file in your TEMP directory with a nice list of all the macros and their values. I based the list entirely on the list contained within ojdo's answer. I have no idea if it is comprehensive, but it's a good start!

    echo AllowLocalNetworkLoopback=$(AllowLocalNetworkLoopback) >>$(TEMP)\macros.txt
    echo ALLUSERSPROFILE=$(ALLUSERSPROFILE) >>$(TEMP)\macros.txt
    echo AndroidTargetsPath=$(AndroidTargetsPath) >>$(TEMP)\macros.txt
    echo APPDATA=$(APPDATA) >>$(TEMP)\macros.txt
    echo AppxManifestMetadataClHostArchDir=$(AppxManifestMetadataClHostArchDir) >>$(TEMP)\macros.txt
    echo AppxManifestMetadataCITargetArchDir=$(AppxManifestMetadataCITargetArchDir) >>$(TEMP)\macros.txt
    echo Attach=$(Attach) >>$(TEMP)\macros.txt
    echo BaseIntermediateOutputPath=$(BaseIntermediateOutputPath) >>$(TEMP)\macros.txt
    echo BuildingInsideVisualStudio=$(BuildingInsideVisualStudio) >>$(TEMP)\macros.txt
    echo CharacterSet=$(CharacterSet) >>$(TEMP)\macros.txt
    echo CLRSupport=$(CLRSupport) >>$(TEMP)\macros.txt
    echo CommonProgramFiles=$(CommonProgramFiles) >>$(TEMP)\macros.txt
    echo CommonProgramW6432=$(CommonProgramW6432) >>$(TEMP)\macros.txt
    echo COMPUTERNAME=$(COMPUTERNAME) >>$(TEMP)\macros.txt
    echo ComSpec=$(ComSpec) >>$(TEMP)\macros.txt
    echo Configuration=$(Configuration) >>$(TEMP)\macros.txt
    echo ConfigurationType=$(ConfigurationType) >>$(TEMP)\macros.txt
    echo CppWinRT_IncludePath=$(CppWinRT_IncludePath) >>$(TEMP)\macros.txt
    echo CrtSDKReferencelnclude=$(CrtSDKReferencelnclude) >>$(TEMP)\macros.txt
    echo CrtSDKReferenceVersion=$(CrtSDKReferenceVersion) >>$(TEMP)\macros.txt
    echo CustomAfterMicrosoftCommonProps=$(CustomAfterMicrosoftCommonProps) >>$(TEMP)\macros.txt
    echo CustomBeforeMicrosoftCommonProps=$(CustomBeforeMicrosoftCommonProps) >>$(TEMP)\macros.txt
    echo DebugCppRuntimeFilesPath=$(DebugCppRuntimeFilesPath) >>$(TEMP)\macros.txt
    echo DebuggerFlavor=$(DebuggerFlavor) >>$(TEMP)\macros.txt
    echo DebuggerLaunchApplication=$(DebuggerLaunchApplication) >>$(TEMP)\macros.txt
    echo DebuggerRequireAuthentication=$(DebuggerRequireAuthentication) >>$(TEMP)\macros.txt
    echo DebuggerType=$(DebuggerType) >>$(TEMP)\macros.txt
    echo DefaultLanguageSourceExtension=$(DefaultLanguageSourceExtension) >>$(TEMP)\macros.txt
    echo DefaultPlatformToolset=$(DefaultPlatformToolset) >>$(TEMP)\macros.txt
    echo DefaultWindowsSDKVersion=$(DefaultWindowsSDKVersion) >>$(TEMP)\macros.txt
    echo DefineExplicitDefaults=$(DefineExplicitDefaults) >>$(TEMP)\macros.txt
    echo DelayImplib=$(DelayImplib) >>$(TEMP)\macros.txt
    echo DesignTimeBuild=$(DesignTimeBuild) >>$(TEMP)\macros.txt
    echo DevEnvDir=$(DevEnvDir) >>$(TEMP)\macros.txt
    echo DocumentLibraryDependencies=$(DocumentLibraryDependencies) >>$(TEMP)\macros.txt
    echo DotNetSdk_IncludePath=$(DotNetSdk_IncludePath) >>$(TEMP)\macros.txt
    echo DotNetSdk_LibraryPath=$(DotNetSdk_LibraryPath) >>$(TEMP)\macros.txt
    echo DotNetSdk_LibraryPath_arm=$(DotNetSdk_LibraryPath_arm) >>$(TEMP)\macros.txt
    echo DotNetSdk_LibraryPath_arm64=$(DotNetSdk_LibraryPath_arm64) >>$(TEMP)\macros.txt
    echo DotNetSdk_LibraryPath_x64=$(DotNetSdk_LibraryPath_x64) >>$(TEMP)\macros.txt
    echo DotNetSdk_LibraryPath_x86=$(DotNetSdk_LibraryPath_x86) >>$(TEMP)\macros.txt
    echo DotNetSdkRoot=$(DotNetSdkRoot) >>$(TEMP)\macros.txt
    echo DriverData=$(DriverData) >>$(TEMP)\macros.txt
    echo EmbedManifest=$(EmbedManifest) >>$(TEMP)\macros.txt
    echo EnableManagedIncrementalBuild=$(EnableManagedIncrementalBuild) >>$(TEMP)\macros.txt
    echo EspXtensions=$(EspXtensions) >>$(TEMP)\macros.txt
    echo ExcludePath=$(ExcludePath) >>$(TEMP)\macros.txt
    echo ExecutablePath=$(ExecutablePath) >>$(TEMP)\macros.txt
    echo ExtensionsToDeleteOnClean=$(ExtensionsToDeleteOnClean) >>$(TEMP)\macros.txt
    echo FPS_BROWSER_APP_PROFILE_STRING=$(FPS_BROWSER_APP_PROFILE_STRING) >>$(TEMP)\macros.txt
    echo FPS_BROWSER_USER_PROFILE_STRING=$(FPS_BROWSER_USER_PROFILE_STRING) >>$(TEMP)\macros.txt
    echo FrameworkDir=$(FrameworkDir) >>$(TEMP)\macros.txt
    echo FrameworkDir_110=$(FrameworkDir_110) >>$(TEMP)\macros.txt
    echo FrameworkSdkDir=$(FrameworkSdkDir) >>$(TEMP)\macros.txt
    echo FrameworkSDKRoot=$(FrameworkSDKRoot) >>$(TEMP)\macros.txt
    echo FrameworkVersion=$(FrameworkVersion) >>$(TEMP)\macros.txt
    echo GenerateManifest=$(GenerateManifest) >>$(TEMP)\macros.txt
    echo GPURefDebuggerBreakOnAllThreads=$(GPURefDebuggerBreakOnAllThreads) >>$(TEMP)\macros.txt
    echo HOMEDRIVE=$(HOMEDRIVE) >>$(TEMP)\macros.txt
    echo HOMEPATH=$(HOMEPATH) >>$(TEMP)\macros.txt
    echo IgnorelmportLibrary=$(IgnorelmportLibrary) >>$(TEMP)\macros.txt
    echo ImportByWildcardAfterMicrosoftCommonProps=$(ImportByWildcardAfterMicrosoftCommonProps) >>$(TEMP)\macros.txt
    echo ImportByWildcardBeforeMicrosoftCommonProps=$(ImportByWildcardBeforeMicrosoftCommonProps) >>$(TEMP)\macros.txt
    echo ImportDirectoryBuildProps=$(ImportDirectoryBuildProps) >>$(TEMP)\macros.txt
    echo ImportProjectExtensionProps=$(ImportProjectExtensionProps) >>$(TEMP)\macros.txt
    echo ImportUserLocationsByWildcardAfterMicrosoftCommonProps=$(ImportUserLocationsByWildcardAfterMicrosoftCommonProps) >>$(TEMP)\macros.txt
    echo ImportUserLocationsByWildcardBeforeMicrosoftCommonProps=$(ImportUserLocationsByWildcardBeforeMicrosoftCommonProps) >>$(TEMP)\macros.txt
    echo IncludePath=$(IncludePath) >>$(TEMP)\macros.txt
    echo IncludeVersionInInteropName=$(IncludeVersionInInteropName) >>$(TEMP)\macros.txt
    echo IntDir=$(IntDir) >>$(TEMP)\macros.txt
    echo InteropOutputPath=$(InteropOutputPath) >>$(TEMP)\macros.txt
    echo iOSTargetsPath=$(iOSTargetsPath) >>$(TEMP)\macros.txt
    echo Keyword=$(Keyword) >>$(TEMP)\macros.txt
    echo KIT_SHARED_IncludePath=$(KIT_SHARED_IncludePath) >>$(TEMP)\macros.txt
    echo LangID=$(LangID) >>$(TEMP)\macros.txt
    echo LangName=$(LangName) >>$(TEMP)\macros.txt
    echo Language=$(Language) >>$(TEMP)\macros.txt
    echo LIBJABRA_TRACE_LEVEL=$(LIBJABRA_TRACE_LEVEL) >>$(TEMP)\macros.txt
    echo LibraryPath=$(LibraryPath) >>$(TEMP)\macros.txt
    echo LibraryWPath=$(LibraryWPath) >>$(TEMP)\macros.txt
    echo LinkCompiled=$(LinkCompiled) >>$(TEMP)\macros.txt
    echo LinkIncremental=$(LinkIncremental) >>$(TEMP)\macros.txt
    echo LOCALAPPDATA=$(LOCALAPPDATA) >>$(TEMP)\macros.txt
    echo LocalDebuggerAttach=$(LocalDebuggerAttach) >>$(TEMP)\macros.txt
    echo LocalDebuggerDebuggerlType=$(LocalDebuggerDebuggerlType) >>$(TEMP)\macros.txt
    echo LocalDebuggerMergeEnvironment=$(LocalDebuggerMergeEnvironment) >>$(TEMP)\macros.txt
    echo LocalDebuggerSQLDebugging=$(LocalDebuggerSQLDebugging) >>$(TEMP)\macros.txt
    echo LocalDebuggerWorkingDirectory=$(LocalDebuggerWorkingDirectory) >>$(TEMP)\macros.txt
    echo LocalGPUDebuggerTargetType=$(LocalGPUDebuggerTargetType) >>$(TEMP)\macros.txt
    echo LOGONSERVER=$(LOGONSERVER) >>$(TEMP)\macros.txt
    echo MicrosoftCommonPropsHasBeenImported=$(MicrosoftCommonPropsHasBeenImported) >>$(TEMP)\macros.txt
    echo MpiDebuggerCleanupDeployment=$(MpiDebuggerCleanupDeployment) >>$(TEMP)\macros.txt
    echo MpiDebuggerDebuggerType=$(MpiDebuggerDebuggerType) >>$(TEMP)\macros.txt
    echo MpiDebuggerDeployCommonRuntime=$(MpiDebuggerDeployCommonRuntime) >>$(TEMP)\macros.txt
    echo MpiDebuggerNetworkSecurityMode=$(MpiDebuggerNetworkSecurityMode) >>$(TEMP)\macros.txt
    echo MpiDebuggerSchedulerNode=$(MpiDebuggerSchedulerNode) >>$(TEMP)\macros.txt
    echo MpiDebuggerSchedulerTimeout=$(MpiDebuggerSchedulerTimeout) >>$(TEMP)\macros.txt
    echo MSBuild_ExecutablePath=$(MSBuild_ExecutablePath) >>$(TEMP)\macros.txt
    echo MSBuildAllProjects=$(MSBuildAllProjects) >>$(TEMP)\macros.txt
    echo MSBuildAssemblyVersion=$(MSBuildAssemblyVersion) >>$(TEMP)\macros.txt
    echo MSBuildBinPath=$(MSBuildBinPath) >>$(TEMP)\macros.txt
    echo MSBuildExtensionsPath=$(MSBuildExtensionsPath) >>$(TEMP)\macros.txt
    echo MSBuildExtensionsPath32=$(MSBuildExtensionsPath32) >>$(TEMP)\macros.txt
    echo MSBuildExtensionsPath64=$(MSBuildExtensionsPath64) >>$(TEMP)\macros.txt
    echo MSBuildFrameworkToolsPath=$(MSBuildFrameworkToolsPath) >>$(TEMP)\macros.txt
    echo MSBuildFrameworkToolsPath32=$(MSBuildFrameworkToolsPath32) >>$(TEMP)\macros.txt
    echo MSBuildFrameworkToolsPath64=$(MSBuildFrameworkToolsPath64) >>$(TEMP)\macros.txt
    echo MSBuildFrameworkToolsRoot=$(MSBuildFrameworkToolsRoot) >>$(TEMP)\macros.txt
    echo MSBuildLoadMicrosoftTargetsReadOnly=$(MSBuildLoadMicrosoftTargetsReadOnly) >>$(TEMP)\macros.txt
    echo MSBuildNodeCount=$(MSBuildNodeCount) >>$(TEMP)\macros.txt
    echo MSBuildProgramFiles32=$(MSBuildProgramFiles32) >>$(TEMP)\macros.txt
    echo MSBuildProjectDefaultTargets=$(MSBuildProjectDefaultTargets) >>$(TEMP)\macros.txt
    echo MSBuildProjectDirectory=$(MSBuildProjectDirectory) >>$(TEMP)\macros.txt
    echo MSBuildProjectDirectoryNoRoot=$(MSBuildProjectDirectoryNoRoot) >>$(TEMP)\macros.txt
    echo MSBuildProjectExtension=$(MSBuildProjectExtension) >>$(TEMP)\macros.txt
    echo MSBuildProjectExtensionsPath=$(MSBuildProjectExtensionsPath) >>$(TEMP)\macros.txt
    echo MSBuildProjectFile=$(MSBuildProjectFile) >>$(TEMP)\macros.txt
    echo MSBuildProjectFullPath=$(MSBuildProjectFullPath) >>$(TEMP)\macros.txt
    echo MSBuildProjectName=$(MSBuildProjectName) >>$(TEMP)\macros.txt
    echo MSBuildRuntimeType=$(MSBuildRuntimeType) >>$(TEMP)\macros.txt
    echo MSBuildRuntimeVersion=$(MSBuildRuntimeVersion) >>$(TEMP)\macros.txt
    echo MSBuildSDKsPath=$(MSBuildSDKsPath) >>$(TEMP)\macros.txt
    echo MSBuildStartupDirectory=$(MSBuildStartupDirectory) >>$(TEMP)\macros.txt
    echo MSBuildToolsPath=$(MSBuildToolsPath) >>$(TEMP)\macros.txt
    echo MSBuildToolsPath32=$(MSBuildToolsPath32) >>$(TEMP)\macros.txt
    echo MSBuildToolsPath64=$(MSBuildToolsPath64) >>$(TEMP)\macros.txt
    echo MSBuildToolsRoot=$(MSBuildToolsRoot) >>$(TEMP)\macros.txt
    echo MSBuildToolsVersion=$(MSBuildToolsVersion) >>$(TEMP)\macros.txt
    echo MSBuildUserExtensionsPath=$(MSBuildUserExtensionsPath) >>$(TEMP)\macros.txt
    echo MSBuildVersion=$(MSBuildVersion) >>$(TEMP)\macros.txt
    echo MultiToolTask=$(MultiToolTask) >>$(TEMP)\macros.txt
    echo NETFXKitsDir=$(NETFXKitsDir) >>$(TEMP)\macros.txt
    echo NETFXSDKDir=$(NETFXSDKDir) >>$(TEMP)\macros.txt
    echo NuGetProps=$(NuGetProps) >>$(TEMP)\macros.txt
    echo NUMBER_OF_PROCESSORS=$(NUMBER_OF_PROCESSORS) >>$(TEMP)\macros.txt
    echo OCTAVE_EXECUTABLE=$(OCTAVE_EXECUTABLE) >>$(TEMP)\macros.txt
    echo OneDrive=$(OneDrive) >>$(TEMP)\macros.txt
    echo OneDriveCommercial=$(OneDriveCommercial) >>$(TEMP)\macros.txt
    echo OS=$(OS) >>$(TEMP)\macros.txt
    echo OutDir=$(OutDir) >>$(TEMP)\macros.txt
    echo OutDirWasSpecified=$(OutDirWasSpecified) >>$(TEMP)\macros.txt
    echo OutputType=$(OutputType) >>$(TEMP)\macros.txt
    echo Path=$(Path) >>$(TEMP)\macros.txt
    echo PATHEXT=$(PATHEXT) >>$(TEMP)\macros.txt
    echo PkgDefApplicationConfigFile=$(PkgDefApplicationConfigFile) >>$(TEMP)\macros.txt
    echo Platform=$(Platform) >>$(TEMP)\macros.txt
    echo Platform_Actual=$(Platform_Actual) >>$(TEMP)\macros.txt
    echo PlatformArchitecture=$(PlatformArchitecture) >>$(TEMP)\macros.txt
    echo PlatformName=$(PlatformName) >>$(TEMP)\macros.txt
    echo PlatformPropsFound=$(PlatformPropsFound) >>$(TEMP)\macros.txt
    echo PlatformShortName=$(PlatformShortName) >>$(TEMP)\macros.txt
    echo PlatformTarget=$(PlatformTarget) >>$(TEMP)\macros.txt
    echo PlatformTargetsFound=$(PlatformTargetsFound) >>$(TEMP)\macros.txt
    echo PlatformToolset=$(PlatformToolset) >>$(TEMP)\macros.txt
    echo PlatformToolsetVersion=$(PlatformToolsetVersion) >>$(TEMP)\macros.txt
    echo PostBuildEventUseInBuild=$(PostBuildEventUseInBuild) >>$(TEMP)\macros.txt
    echo PreBuildEventUseInBuild=$(PreBuildEventUseInBuild) >>$(TEMP)\macros.txt
    echo PreferredToolArchitecture=$(PreferredToolArchitecture) >>$(TEMP)\macros.txt
    echo PreLinkEventUselnBuild=$(PreLinkEventUselnBuild) >>$(TEMP)\macros.txt
    echo PROCESSOR_ARCHITECTURE=$(PROCESSOR_ARCHITECTURE) >>$(TEMP)\macros.txt
    echo PROCESSOR_ARCHITEW6432=$(PROCESSOR_ARCHITEW6432) >>$(TEMP)\macros.txt
    echo PROCESSOR_IDENTIFIER=$(PROCESSOR_IDENTIFIER) >>$(TEMP)\macros.txt
    echo PROCESSOR_LEVEL=$(PROCESSOR_LEVEL) >>$(TEMP)\macros.txt
    echo PROCESSOR_REVISION=$(PROCESSOR_REVISION) >>$(TEMP)\macros.txt
    echo ProgramData=$(ProgramData) >>$(TEMP)\macros.txt
    echo ProgramFiles=$(ProgramFiles) >>$(TEMP)\macros.txt
    echo ProgramW6432=$(ProgramW6432) >>$(TEMP)\macros.txt
    echo ProjectDir=$(ProjectDir) >>$(TEMP)\macros.txt
    echo ProjectExt=$(ProjectExt) >>$(TEMP)\macros.txt
    echo ProjectFileName=$(ProjectFileName) >>$(TEMP)\macros.txt
    echo ProjectGuid=$(ProjectGuid) >>$(TEMP)\macros.txt
    echo ProjectName=$(ProjectName) >>$(TEMP)\macros.txt
    echo ProjectPath=$(ProjectPath) >>$(TEMP)\macros.txt
    echo PSExecutionPolicyPreference=$(PSExecutionPolicyPreference) >>$(TEMP)\macros.txt
    echo PSModulePath=$(PSModulePath) >>$(TEMP)\macros.txt
    echo PUBLIC=$(PUBLIC) >>$(TEMP)\macros.txt
    echo ReferencePath=$(ReferencePath) >>$(TEMP)\macros.txt
    echo RemoteDebuggerAttach=$(RemoteDebuggerAttach) >>$(TEMP)\macros.txt
    echo RemoteDebuggerConnection=$(RemoteDebuggerConnection) >>$(TEMP)\macros.txt
    echo RemoteDebuggerDebuggerlype=$(RemoteDebuggerDebuggerlype) >>$(TEMP)\macros.txt
    echo RemoteDebuggerDeployDebugCppRuntime=$(RemoteDebuggerDeployDebugCppRuntime) >>$(TEMP)\macros.txt
    echo RemoteDebuggerServerName=$(RemoteDebuggerServerName) >>$(TEMP)\macros.txt
    echo RemoteDebuggerSQLDebugging=$(RemoteDebuggerSQLDebugging) >>$(TEMP)\macros.txt
    echo RemoteDebuggerWorkingDirectory=$(RemoteDebuggerWorkingDirectory) >>$(TEMP)\macros.txt
    echo RemoteGPUDebuggerTargetType=$(RemoteGPUDebuggerTargetType) >>$(TEMP)\macros.txt
    echo RetargetAlwaysSupported=$(RetargetAlwaysSupported) >>$(TEMP)\macros.txt
    echo RootNamespace=$(RootNamespace) >>$(TEMP)\macros.txt
    echo RoslynTargetsPath=$(RoslynTargetsPath) >>$(TEMP)\macros.txt
    echo SDK35ToolsPath=$(SDK35ToolsPath) >>$(TEMP)\macros.txt
    echo SDK40ToolsPath=$(SDK40ToolsPath) >>$(TEMP)\macros.txt
    echo SDKDisplayName=$(SDKDisplayName) >>$(TEMP)\macros.txt
    echo SDKIdentifier=$(SDKIdentifier) >>$(TEMP)\macros.txt
    echo SDKVersion=$(SDKVersion) >>$(TEMP)\macros.txt
    echo SESSIONNAME=$(SESSIONNAME) >>$(TEMP)\macros.txt
    echo SolutionDir=$(SolutionDir) >>$(TEMP)\macros.txt
    echo SolutionExt=$(SolutionExt) >>$(TEMP)\macros.txt
    echo SolutionFileName=$(SolutionFileName) >>$(TEMP)\macros.txt
    echo SolutionName=$(SolutionName) >>$(TEMP)\macros.txt
    echo SolutionPath=$(SolutionPath) >>$(TEMP)\macros.txt
    echo SourcePath=$(SourcePath) >>$(TEMP)\macros.txt
    echo SpectreMitigation=$(SpectreMitigation) >>$(TEMP)\macros.txt
    echo SQLDebugging=$(SQLDebugging) >>$(TEMP)\macros.txt
    echo SystemDrive=$(SystemDrive) >>$(TEMP)\macros.txt
    echo SystemRoot=$(SystemRoot) >>$(TEMP)\macros.txt
    echo TargetExt=$(TargetExt) >>$(TEMP)\macros.txt
    echo TargetFrameworkVersion=$(TargetFrameworkVersion) >>$(TEMP)\macros.txt
    echo TargetName=$(TargetName) >>$(TEMP)\macros.txt
    echo TargetPlatformMinVersion=$(TargetPlatformMinVersion) >>$(TEMP)\macros.txt
    echo TargetPlatformVersion=$(TargetPlatformVersion) >>$(TEMP)\macros.txt
    echo TargetPlatformWinMDLocation=$(TargetPlatformWinMDLocation) >>$(TEMP)\macros.txt
    echo TargetUniversalCRTVersion=$(TargetUniversalCRTVersion) >>$(TEMP)\macros.txt
    echo TEMP=$(TEMP) >>$(TEMP)\macros.txt
    echo TMP=$(TMP) >>$(TEMP)\macros.txt
    echo ToolsetPropsFound=$(ToolsetPropsFound) >>$(TEMP)\macros.txt
    echo ToolsetTargetsFound=$(ToolsetTargetsFound) >>$(TEMP)\macros.txt
    echo UCRTContentRoot=$(UCRTContentRoot) >>$(TEMP)\macros.txt
    echo UM_IncludePath=$(UM_IncludePath) >>$(TEMP)\macros.txt
    echo UniversalCRT_IncludePath=$(UniversalCRT_IncludePath) >>$(TEMP)\macros.txt
    echo UniversalCRT_LibraryPath_arm=$(UniversalCRT_LibraryPath_arm) >>$(TEMP)\macros.txt
    echo UniversalCRT_LibraryPath_arm64=$(UniversalCRT_LibraryPath_arm64) >>$(TEMP)\macros.txt
    echo UniversalCRT_LibraryPath_x64=$(UniversalCRT_LibraryPath_x64) >>$(TEMP)\macros.txt
    echo UniversalCRT_LibraryPath_x86=$(UniversalCRT_LibraryPath_x86) >>$(TEMP)\macros.txt
    echo UniversalCRT_PropsPath=$(UniversalCRT_PropsPath) >>$(TEMP)\macros.txt
    echo UniversalCRT_SourcePath=$(UniversalCRT_SourcePath) >>$(TEMP)\macros.txt
    echo UniversalCRTSdkDir=$(UniversalCRTSdkDir) >>$(TEMP)\macros.txt
    echo UniversalCRTSdkDir_10=$(UniversalCRTSdkDir_10) >>$(TEMP)\macros.txt
    echo UseDebugLibraries=$(UseDebugLibraries) >>$(TEMP)\macros.txt
    echo UseLegacyManagedDebugger=$(UseLegacyManagedDebugger) >>$(TEMP)\macros.txt
    echo UseOfATL=$(UseOfATL) >>$(TEMP)\macros.txt
    echo UseOfMfc=$(UseOfMfc) >>$(TEMP)\macros.txt
    echo USERDOMAIN=$(USERDOMAIN) >>$(TEMP)\macros.txt
    echo USERDOMAIN_ROAMINGPROFILE=$(USERDOMAIN_ROAMINGPROFILE) >>$(TEMP)\macros.txt
    echo USERNAME=$(USERNAME) >>$(TEMP)\macros.txt
    echo USERPROFILE=$(USERPROFILE) >>$(TEMP)\macros.txt
    echo UserRootDir=$(UserRootDir) >>$(TEMP)\macros.txt
    echo VBOX_MSI_INSTALL_PATH=$(VBOX_MSI_INSTALL_PATH) >>$(TEMP)\macros.txt
    echo VC_ATLMFC_IncludePath=$(VC_ATLMFC_IncludePath) >>$(TEMP)\macros.txt
    echo VC_ATLMFC_SourcePath=$(VC_ATLMFC_SourcePath) >>$(TEMP)\macros.txt
    echo VC_CRT_SourcePath=$(VC_CRT_SourcePath) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_ARM=$(VC_ExecutablePath_ARM) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_ARM64=$(VC_ExecutablePath_ARM64) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_x64=$(VC_ExecutablePath_x64) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_x64_ARM=$(VC_ExecutablePath_x64_ARM) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_x64_ARM64=$(VC_ExecutablePath_x64_ARM64) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_x64_x64=$(VC_ExecutablePath_x64_x64) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_x64_x86=$(VC_ExecutablePath_x64_x86) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_x86=$(VC_ExecutablePath_x86) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_x86_ARM=$(VC_ExecutablePath_x86_ARM) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_x86_ARM64=$(VC_ExecutablePath_x86_ARM64) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_x86_x64=$(VC_ExecutablePath_x86_x64) >>$(TEMP)\macros.txt
    echo VC_ExecutablePath_x86_x86=$(VC_ExecutablePath_x86_x86) >>$(TEMP)\macros.txt
    echo VC_IFCPath=$(VC_IFCPath) >>$(TEMP)\macros.txt
    echo VC_IncludePath=$(VC_IncludePath) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_ARM=$(VC_LibraryPath_ARM) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_ARM64=$(VC_LibraryPath_ARM64) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_ATL_ARM=$(VC_LibraryPath_ATL_ARM) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_ATL_ARM64=$(VC_LibraryPath_ATL_ARM64) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_ATL_x64=$(VC_LibraryPath_ATL_x64) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_ATL_x86=$(VC_LibraryPath_ATL_x86) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_ARM=$(VC_LibraryPath_VC_ARM) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_ARM_Desktop=$(VC_LibraryPath_VC_ARM_Desktop) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_ARM_OneCore=$(VC_LibraryPath_VC_ARM_OneCore) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_ARM_Store=$(VC_LibraryPath_VC_ARM_Store) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_ARM64=$(VC_LibraryPath_VC_ARM64) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_ARM64_Desktop=$(VC_LibraryPath_VC_ARM64_Desktop) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_ARM64_OneCore=$(VC_LibraryPath_VC_ARM64_OneCore) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_ARM64_Store=$(VC_LibraryPath_VC_ARM64_Store) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_x64=$(VC_LibraryPath_VC_x64) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_x64_Desktop=$(VC_LibraryPath_VC_x64_Desktop) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_x64_OneCore=$(VC_LibraryPath_VC_x64_OneCore) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_x64_Store=$(VC_LibraryPath_VC_x64_Store) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_x86=$(VC_LibraryPath_VC_x86) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_x86_Desktop=$(VC_LibraryPath_VC_x86_Desktop) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_x86_OneCore=$(VC_LibraryPath_VC_x86_OneCore) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_VC_x86_Store=$(VC_LibraryPath_VC_x86_Store) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_x64=$(VC_LibraryPath_x64) >>$(TEMP)\macros.txt
    echo VC_LibraryPath_x86=$(VC_LibraryPath_x86) >>$(TEMP)\macros.txt
    echo VC_PGO_RunTime_Dir=$(VC_PGO_RunTime_Dir) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_ARM=$(VC_ReferencesPath_ARM) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_ARM64=$(VC_ReferencesPath_ARM64) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_ATL_ARM=$(VC_ReferencesPath_ATL_ARM) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_ATL_ARM64=$(VC_ReferencesPath_ATL_ARM64) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_ATL_x64=$(VC_ReferencesPath_ATL_x64) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_ATL_x86=$(VC_ReferencesPath_ATL_x86) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_VC_ARM=$(VC_ReferencesPath_VC_ARM) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_VC_ARM64=$(VC_ReferencesPath_VC_ARM64) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_VC_x64=$(VC_ReferencesPath_VC_x64) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_VC_x86=$(VC_ReferencesPath_VC_x86) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_x64=$(VC_ReferencesPath_x64) >>$(TEMP)\macros.txt
    echo VC_ReferencesPath_x86=$(VC_ReferencesPath_x86) >>$(TEMP)\macros.txt
    echo VC_SourcePath=$(VC_SourcePath) >>$(TEMP)\macros.txt
    echo VC_VC_IncludePath=$(VC_VC_IncludePath) >>$(TEMP)\macros.txt
    echo VC_VS_IncludePath=$(VC_VS_IncludePath) >>$(TEMP)\macros.txt
    echo VC_VS_LibraryPath_VC_VS_ARM=$(VC_VS_LibraryPath_VC_VS_ARM) >>$(TEMP)\macros.txt
    echo VC_VS_LibraryPath_VC_VS_x64=$(VC_VS_LibraryPath_VC_VS_x64) >>$(TEMP)\macros.txt
    echo VC_VS_LibraryPath_VC_VS_x86=$(VC_VS_LibraryPath_VC_VS_x86) >>$(TEMP)\macros.txt
    echo VC_VS_SourcePath=$(VC_VS_SourcePath) >>$(TEMP)\macros.txt
    echo VCIDEInstallDir=$(VCIDEInstallDir) >>$(TEMP)\macros.txt
    echo VCIDEInstallDir_150=$(VCIDEInstallDir_150) >>$(TEMP)\macros.txt
    echo VCInstallDir=$(VCInstallDir) >>$(TEMP)\macros.txt
    echo VCInstallDir_150=$(VCInstallDir_150) >>$(TEMP)\macros.txt
    echo VCLibPackagePath=$(VCLibPackagePath) >>$(TEMP)\macros.txt
    echo VCProjectVersion=$(VCProjectVersion) >>$(TEMP)\macros.txt
    echo VCTargetsPath=$(VCTargetsPath) >>$(TEMP)\macros.txt
    echo VCTargetsPath10=$(VCTargetsPath10) >>$(TEMP)\macros.txt
    echo VCTargetsPath11=$(VCTargetsPath11) >>$(TEMP)\macros.txt
    echo VCTargetsPath12=$(VCTargetsPath12) >>$(TEMP)\macros.txt
    echo VCTargetsPath14=$(VCTargetsPath14) >>$(TEMP)\macros.txt
    echo VCTargetsPath15=$(VCTargetsPath15) >>$(TEMP)\macros.txt
    echo VCTargetsPathActual=$(VCTargetsPathActual) >>$(TEMP)\macros.txt
    echo VCTargetsPathEffective=$(VCTargetsPathEffective) >>$(TEMP)\macros.txt
    echo VCToolArchitecture=$(VCToolArchitecture) >>$(TEMP)\macros.txt
    echo VCToolsInstallDir=$(VCToolsInstallDir) >>$(TEMP)\macros.txt
    echo VCToolsInstallDir_150=$(VCToolsInstallDir_150) >>$(TEMP)\macros.txt
    echo VCToolsVersion=$(VCToolsVersion) >>$(TEMP)\macros.txt
    echo VisualStudioDir=$(VisualStudioDir) >>$(TEMP)\macros.txt
    echo VisualStudioEdition=$(VisualStudioEdition) >>$(TEMP)\macros.txt
    echo VisualStudioVersion=$(VisualStudioVersion) >>$(TEMP)\macros.txt
    echo VS_ExecutablePath=$(VS_ExecutablePath) >>$(TEMP)\macros.txt
    echo VS140COMNTOOLS=$(VS140COMNTOOLS) >>$(TEMP)\macros.txt
    echo VSAPPIDDIR=$(VSAPPIDDIR) >>$(TEMP)\macros.txt
    echo VSAPPIDNAME=$(VSAPPIDNAME) >>$(TEMP)\macros.txt
    echo VSInstallDir=$(VSInstallDir) >>$(TEMP)\macros.txt
    echo VSInstallDir_150=$(VSInstallDir_150) >>$(TEMP)\macros.txt
    echo VsInstallRoot=$(VsInstallRoot) >>$(TEMP)\macros.txt
    echo VSLANG=$(VSLANG) >>$(TEMP)\macros.txt
    echo VSSKUEDITION=$(VSSKUEDITION) >>$(TEMP)\macros.txt
    echo VSVersion=$(VSVersion) >>$(TEMP)\macros.txt
    echo WDKBinRoot=$(WDKBinRoot) >>$(TEMP)\macros.txt
    echo WebBrowserDebuggerDebuggerlype=$(WebBrowserDebuggerDebuggerlype) >>$(TEMP)\macros.txt
    echo WebServiceDebuggerDebuggerlype=$(WebServiceDebuggerDebuggerlype) >>$(TEMP)\macros.txt
    echo WebServiceDebuggerSQLDebugging=$(WebServiceDebuggerSQLDebugging) >>$(TEMP)\macros.txt
    echo WholeProgramOptimization=$(WholeProgramOptimization) >>$(TEMP)\macros.txt
    echo WholeProgramOptimizationAvailabilityInstrument=$(WholeProgramOptimizationAvailabilityInstrument) >>$(TEMP)\macros.txt
    echo WholeProgramOptimizationAvailabilityOptimize=$(WholeProgramOptimizationAvailabilityOptimize) >>$(TEMP)\macros.txt
    echo WholeProgramOptimizationAvailabilityTrue=$(WholeProgramOptimizationAvailabilityTrue) >>$(TEMP)\macros.txt
    echo WholeProgramOptimizationAvailabilityUpdate=$(WholeProgramOptimizationAvailabilityUpdate) >>$(TEMP)\macros.txt
    echo windir=$(windir) >>$(TEMP)\macros.txt
    echo Windows81SdkInstalled=$(Windows81SdkInstalled) >>$(TEMP)\macros.txt
    echo WindowsAppContainer=$(WindowsAppContainer) >>$(TEMP)\macros.txt
    echo WindowsSDK_ExecutablePath=$(WindowsSDK_ExecutablePath) >>$(TEMP)\macros.txt
    echo WindowsSDK_ExecutablePath_arm=$(WindowsSDK_ExecutablePath_arm) >>$(TEMP)\macros.txt
    echo WindowsSDK_ExecutablePath_arm64=$(WindowsSDK_ExecutablePath_arm64) >>$(TEMP)\macros.txt
    echo WindowsSDK_ExecutablePath_x64=$(WindowsSDK_ExecutablePath_x64) >>$(TEMP)\macros.txt
    echo WindowsSDK_LibraryPath_x86=$(WindowsSDK_LibraryPath_x86) >>$(TEMP)\macros.txt
    echo WindowsSDK_MetadataFoundationPath=$(WindowsSDK_MetadataFoundationPath) >>$(TEMP)\macros.txt
    echo WindowsSDK_MetadataPath=$(WindowsSDK_MetadataPath) >>$(TEMP)\macros.txt
    echo WindowsSDK_MetadataPathVersioned=$(WindowsSDK_MetadataPathVersioned) >>$(TEMP)\macros.txt
    echo WindowsSDK_PlatformPath=$(WindowsSDK_PlatformPath) >>$(TEMP)\macros.txt
    echo WindowsSDK_SupportedAPIs_arm=$(WindowsSDK_SupportedAPIs_arm) >>$(TEMP)\macros.txt
    echo WindowsSDK_SupportedAPIs_x64=$(WindowsSDK_SupportedAPIs_x64) >>$(TEMP)\macros.txt
    echo WindowsSDK_SupportedAPIs_x86=$(WindowsSDK_SupportedAPIs_x86) >>$(TEMP)\macros.txt
    echo WindowsSDK_UnionMetadataPath=$(WindowsSDK_UnionMetadataPath) >>$(TEMP)\macros.txt
    echo WindowsSDK80Path=$(WindowsSDK80Path) >>$(TEMP)\macros.txt
    echo WindowsSdkDir=$(WindowsSdkDir) >>$(TEMP)\macros.txt
    echo WindowsSdkDir_10=$(WindowsSdkDir_10) >>$(TEMP)\macros.txt
    echo WindowsSdkDir_81=$(WindowsSdkDir_81) >>$(TEMP)\macros.txt
    echo WindowsSdkDir_81A=$(WindowsSdkDir_81A) >>$(TEMP)\macros.txt
    echo WindowsSDKToolArchitecture=$(WindowsSDKToolArchitecture) >>$(TEMP)\macros.txt
    echo WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) >>$(TEMP)\macros.txt
    echo WinRT_IncludePath=$(WinRT_IncludePath) >>$(TEMP)\macros.txt
    echo WMSISProject=$(WMSISProject) >>$(TEMP)\macros.txt
    echo WMSISProjectDirectory=$(WMSISProjectDirectory) >>$(TEMP)\macros.txt
    
    0 讨论(0)
  • 2020-11-28 02:09

    To add to the other answers, note that property sheets can be configured for the project, creating custom project-specific parameters.

    To access or create them navigate to(at least in Visual Studio 2013) View -> Other Windows -> Property Manager. You can also find them in the source folder as .prop files

    0 讨论(0)
  • 2020-11-28 02:10

    Try this MSDN page: Macros for Build Commands and Properties

    0 讨论(0)
  • 2020-11-28 02:10

    While there does not appear to be one complete list, the following may also be helpful:

    How to use Environment properties:
      http://msdn.microsoft.com/en-us/library/ms171459.aspx

    MSBuild reserved properties:
      http://msdn.microsoft.com/en-us/library/ms164309.aspx

    Well-known item properties (not sure how these are used):
      http://msdn.microsoft.com/en-us/library/ms164313.aspx

    0 讨论(0)
  • 2020-11-28 02:10

    Ok, I finally wanted to have a pretty complete, searchable list of those variables for reference. Here is a complete (OCR-generated, as I did not easily find something akin to a printenv command) list of defined variables for a Visual C++ project on my machine. Probably not all macros are defined for others (e.g. OCTAVE_EXECUTABLE), but I wanted to err on the side of inclusiveness here.

    For example, this is the first time that I see $(Language) (expanding to C++ for this project) being mentioned outside of the IDE.

    $(AllowLocalNetworkLoopback)
    $(ALLUSERSPROFILE)
    $(AndroidTargetsPath)
    $(APPDATA)
    $(AppxManifestMetadataClHostArchDir)
    $(AppxManifestMetadataCITargetArchDir)
    $(Attach)
    $(BaseIntermediateOutputPath)
    $(BuildingInsideVisualStudio)
    $(CharacterSet)
    $(CLRSupport)
    $(CommonProgramFiles)
    $(CommonProgramW6432)
    $(COMPUTERNAME)
    $(ComSpec)
    $(Configuration)
    $(ConfigurationType)
    $(CppWinRT_IncludePath)
    $(CrtSDKReferencelnclude)
    $(CrtSDKReferenceVersion)
    $(CustomAfterMicrosoftCommonProps)
    $(CustomBeforeMicrosoftCommonProps)
    $(DebugCppRuntimeFilesPath)
    $(DebuggerFlavor)
    $(DebuggerLaunchApplication)
    $(DebuggerRequireAuthentication)
    $(DebuggerType)
    $(DefaultLanguageSourceExtension)
    $(DefaultPlatformToolset)
    $(DefaultWindowsSDKVersion)
    $(DefineExplicitDefaults)
    $(DelayImplib)
    $(DesignTimeBuild)
    $(DevEnvDir)
    $(DocumentLibraryDependencies)
    $(DotNetSdk_IncludePath)
    $(DotNetSdk_LibraryPath)
    $(DotNetSdk_LibraryPath_arm)
    $(DotNetSdk_LibraryPath_arm64)
    $(DotNetSdk_LibraryPath_x64)
    $(DotNetSdk_LibraryPath_x86)
    $(DotNetSdkRoot)
    $(DriverData)
    $(EmbedManifest)
    $(EnableManagedIncrementalBuild)
    $(EspXtensions)
    $(ExcludePath)
    $(ExecutablePath)
    $(ExtensionsToDeleteOnClean)
    $(FPS_BROWSER_APP_PROFILE_STRING)
    $(FPS_BROWSER_USER_PROFILE_STRING)
    $(FrameworkDir)
    $(FrameworkDir_110)
    $(FrameworkSdkDir)
    $(FrameworkSDKRoot)
    $(FrameworkVersion)
    $(GenerateManifest)
    $(GPURefDebuggerBreakOnAllThreads)
    $(HOMEDRIVE)
    $(HOMEPATH)
    $(IgnorelmportLibrary)
    $(ImportByWildcardAfterMicrosoftCommonProps)
    $(ImportByWildcardBeforeMicrosoftCommonProps)
    $(ImportDirectoryBuildProps)
    $(ImportProjectExtensionProps)
    $(ImportUserLocationsByWildcardAfterMicrosoftCommonProps)
    $(ImportUserLocationsByWildcardBeforeMicrosoftCommonProps)
    $(IncludePath)
    $(IncludeVersionInInteropName)
    $(IntDir)
    $(InteropOutputPath)
    $(iOSTargetsPath)
    $(Keyword)
    $(KIT_SHARED_IncludePath)
    $(LangID)
    $(LangName)
    $(Language)
    $(LIBJABRA_TRACE_LEVEL)
    $(LibraryPath)
    $(LibraryWPath)
    $(LinkCompiled)
    $(LinkIncremental)
    $(LOCALAPPDATA)
    $(LocalDebuggerAttach)
    $(LocalDebuggerDebuggerlType)
    $(LocalDebuggerMergeEnvironment)
    $(LocalDebuggerSQLDebugging)
    $(LocalDebuggerWorkingDirectory)
    $(LocalGPUDebuggerTargetType)
    $(LOGONSERVER)
    $(MicrosoftCommonPropsHasBeenImported)
    $(MpiDebuggerCleanupDeployment)
    $(MpiDebuggerDebuggerType)
    $(MpiDebuggerDeployCommonRuntime)
    $(MpiDebuggerNetworkSecurityMode)
    $(MpiDebuggerSchedulerNode)
    $(MpiDebuggerSchedulerTimeout)
    $(MSBuild_ExecutablePath)
    $(MSBuildAllProjects)
    $(MSBuildAssemblyVersion)
    $(MSBuildBinPath)
    $(MSBuildExtensionsPath)
    $(MSBuildExtensionsPath32)
    $(MSBuildExtensionsPath64)
    $(MSBuildFrameworkToolsPath)
    $(MSBuildFrameworkToolsPath32)
    $(MSBuildFrameworkToolsPath64)
    $(MSBuildFrameworkToolsRoot)
    $(MSBuildLoadMicrosoftTargetsReadOnly)
    $(MSBuildNodeCount)
    $(MSBuildProgramFiles32)
    $(MSBuildProjectDefaultTargets)
    $(MSBuildProjectDirectory)
    $(MSBuildProjectDirectoryNoRoot)
    $(MSBuildProjectExtension)
    $(MSBuildProjectExtensionsPath)
    $(MSBuildProjectFile)
    $(MSBuildProjectFullPath)
    $(MSBuildProjectName)
    $(MSBuildRuntimeType)
    $(MSBuildRuntimeVersion)
    $(MSBuildSDKsPath)
    $(MSBuildStartupDirectory)
    $(MSBuildToolsPath)
    $(MSBuildToolsPath32)
    $(MSBuildToolsPath64)
    $(MSBuildToolsRoot)
    $(MSBuildToolsVersion)
    $(MSBuildUserExtensionsPath)
    $(MSBuildVersion)
    $(MultiToolTask)
    $(NETFXKitsDir)
    $(NETFXSDKDir)
    $(NuGetProps)
    $(NUMBER_OF_PROCESSORS)
    $(OCTAVE_EXECUTABLE)
    $(OneDrive)
    $(OneDriveCommercial)
    $(OS)
    $(OutDir)
    $(OutDirWasSpecified)
    $(OutputType)
    $(Path)
    $(PATHEXT)
    $(PkgDefApplicationConfigFile)
    $(Platform)
    $(Platform_Actual)
    $(PlatformArchitecture)
    $(PlatformName)
    $(PlatformPropsFound)
    $(PlatformShortName)
    $(PlatformTarget)
    $(PlatformTargetsFound)
    $(PlatformToolset)
    $(PlatformToolsetVersion)
    $(PostBuildEventUseInBuild)
    $(PreBuildEventUseInBuild)
    $(PreferredToolArchitecture)
    $(PreLinkEventUselnBuild)
    $(PROCESSOR_ARCHITECTURE)
    $(PROCESSOR_ARCHITEW6432)
    $(PROCESSOR_IDENTIFIER)
    $(PROCESSOR_LEVEL)
    $(PROCESSOR_REVISION)
    $(ProgramData)
    $(ProgramFiles)
    $(ProgramW6432)
    $(ProjectDir)
    $(ProjectExt)
    $(ProjectFileName)
    $(ProjectGuid)
    $(ProjectName)
    $(ProjectPath)
    $(PSExecutionPolicyPreference)
    $(PSModulePath)
    $(PUBLIC)
    $(ReferencePath)
    $(RemoteDebuggerAttach)
    $(RemoteDebuggerConnection)
    $(RemoteDebuggerDebuggerlype)
    $(RemoteDebuggerDeployDebugCppRuntime)
    $(RemoteDebuggerServerName)
    $(RemoteDebuggerSQLDebugging)
    $(RemoteDebuggerWorkingDirectory)
    $(RemoteGPUDebuggerTargetType)
    $(RetargetAlwaysSupported)
    $(RootNamespace)
    $(RoslynTargetsPath)
    $(SDK35ToolsPath)
    $(SDK40ToolsPath)
    $(SDKDisplayName)
    $(SDKIdentifier)
    $(SDKVersion)
    $(SESSIONNAME)
    $(SolutionDir)
    $(SolutionExt)
    $(SolutionFileName)
    $(SolutionName)
    $(SolutionPath)
    $(SourcePath)
    $(SpectreMitigation)
    $(SQLDebugging)
    $(SystemDrive)
    $(SystemRoot)
    $(TargetExt)
    $(TargetFrameworkVersion)
    $(TargetName)
    $(TargetPlatformMinVersion)
    $(TargetPlatformVersion)
    $(TargetPlatformWinMDLocation)
    $(TargetUniversalCRTVersion)
    $(TEMP)
    $(TMP)
    $(ToolsetPropsFound)
    $(ToolsetTargetsFound)
    $(UCRTContentRoot)
    $(UM_IncludePath)
    $(UniversalCRT_IncludePath)
    $(UniversalCRT_LibraryPath_arm)
    $(UniversalCRT_LibraryPath_arm64)
    $(UniversalCRT_LibraryPath_x64)
    $(UniversalCRT_LibraryPath_x86)
    $(UniversalCRT_PropsPath)
    $(UniversalCRT_SourcePath)
    $(UniversalCRTSdkDir)
    $(UniversalCRTSdkDir_10)
    $(UseDebugLibraries)
    $(UseLegacyManagedDebugger)
    $(UseOfATL)
    $(UseOfMfc)
    $(USERDOMAIN)
    $(USERDOMAIN_ROAMINGPROFILE)
    $(USERNAME)
    $(USERPROFILE)
    $(UserRootDir)
    $(VBOX_MSI_INSTALL_PATH)
    $(VC_ATLMFC_IncludePath)
    $(VC_ATLMFC_SourcePath)
    $(VC_CRT_SourcePath)
    $(VC_ExecutablePath_ARM)
    $(VC_ExecutablePath_ARM64)
    $(VC_ExecutablePath_x64)
    $(VC_ExecutablePath_x64_ARM)
    $(VC_ExecutablePath_x64_ARM64)
    $(VC_ExecutablePath_x64_x64)
    $(VC_ExecutablePath_x64_x86)
    $(VC_ExecutablePath_x86)
    $(VC_ExecutablePath_x86_ARM)
    $(VC_ExecutablePath_x86_ARM64)
    $(VC_ExecutablePath_x86_x64)
    $(VC_ExecutablePath_x86_x86)
    $(VC_IFCPath)
    $(VC_IncludePath)
    $(VC_LibraryPath_ARM)
    $(VC_LibraryPath_ARM64)
    $(VC_LibraryPath_ATL_ARM)
    $(VC_LibraryPath_ATL_ARM64)
    $(VC_LibraryPath_ATL_x64)
    $(VC_LibraryPath_ATL_x86)
    $(VC_LibraryPath_VC_ARM)
    $(VC_LibraryPath_VC_ARM_Desktop)
    $(VC_LibraryPath_VC_ARM_OneCore)
    $(VC_LibraryPath_VC_ARM_Store)
    $(VC_LibraryPath_VC_ARM64)
    $(VC_LibraryPath_VC_ARM64_Desktop)
    $(VC_LibraryPath_VC_ARM64_OneCore)
    $(VC_LibraryPath_VC_ARM64_Store)
    $(VC_LibraryPath_VC_x64)
    $(VC_LibraryPath_VC_x64_Desktop)
    $(VC_LibraryPath_VC_x64_OneCore)
    $(VC_LibraryPath_VC_x64_Store)
    $(VC_LibraryPath_VC_x86)
    $(VC_LibraryPath_VC_x86_Desktop)
    $(VC_LibraryPath_VC_x86_OneCore)
    $(VC_LibraryPath_VC_x86_Store)
    $(VC_LibraryPath_x64)
    $(VC_LibraryPath_x86)
    $(VC_PGO_RunTime_Dir)
    $(VC_ReferencesPath_ARM)
    $(VC_ReferencesPath_ARM64)
    $(VC_ReferencesPath_ATL_ARM)
    $(VC_ReferencesPath_ATL_ARM64)
    $(VC_ReferencesPath_ATL_x64)
    $(VC_ReferencesPath_ATL_x86)
    $(VC_ReferencesPath_VC_ARM)
    $(VC_ReferencesPath_VC_ARM64)
    $(VC_ReferencesPath_VC_x64)
    $(VC_ReferencesPath_VC_x86)
    $(VC_ReferencesPath_x64)
    $(VC_ReferencesPath_x86)
    $(VC_SourcePath)
    $(VC_VC_IncludePath)
    $(VC_VS_IncludePath)
    $(VC_VS_LibraryPath_VC_VS_ARM)
    $(VC_VS_LibraryPath_VC_VS_x64)
    $(VC_VS_LibraryPath_VC_VS_x86)
    $(VC_VS_SourcePath)
    $(VCIDEInstallDir)
    $(VCIDEInstallDir_150)
    $(VCInstallDir)
    $(VCInstallDir_150)
    $(VCLibPackagePath)
    $(VCProjectVersion)
    $(VCTargetsPath)
    $(VCTargetsPath10)
    $(VCTargetsPath11)
    $(VCTargetsPath12)
    $(VCTargetsPath14)
    $(VCTargetsPath15)
    $(VCTargetsPathActual)
    $(VCTargetsPathEffective)
    $(VCToolArchitecture)
    $(VCToolsInstallDir)
    $(VCToolsInstallDir_150)
    $(VCToolsVersion)
    $(VisualStudioDir)
    $(VisualStudioEdition)
    $(VisualStudioVersion)
    $(VS_ExecutablePath)
    $(VS140COMNTOOLS)
    $(VSAPPIDDIR)
    $(VSAPPIDNAME)
    $(VSInstallDir)
    $(VSInstallDir_150)
    $(VsInstallRoot)
    $(VSLANG)
    $(VSSKUEDITION)
    $(VSVersion)
    $(WDKBinRoot)
    $(WebBrowserDebuggerDebuggerlype)
    $(WebServiceDebuggerDebuggerlype)
    $(WebServiceDebuggerSQLDebugging)
    $(WholeProgramOptimization)
    $(WholeProgramOptimizationAvailabilityInstrument)
    $(WholeProgramOptimizationAvailabilityOptimize)
    $(WholeProgramOptimizationAvailabilityTrue)
    $(WholeProgramOptimizationAvailabilityUpdate)
    $(windir)
    $(Windows81SdkInstalled)
    $(WindowsAppContainer)
    $(WindowsSDK_ExecutablePath)
    $(WindowsSDK_ExecutablePath_arm)
    $(WindowsSDK_ExecutablePath_arm64)
    $(WindowsSDK_ExecutablePath_x64)
    $(WindowsSDK_LibraryPath_x86)
    $(WindowsSDK_MetadataFoundationPath)
    $(WindowsSDK_MetadataPath)
    $(WindowsSDK_MetadataPathVersioned)
    $(WindowsSDK_PlatformPath)
    $(WindowsSDK_SupportedAPIs_arm)
    $(WindowsSDK_SupportedAPIs_x64)
    $(WindowsSDK_SupportedAPIs_x86)
    $(WindowsSDK_UnionMetadataPath)
    $(WindowsSDK80Path)
    $(WindowsSdkDir)
    $(WindowsSdkDir_10)
    $(WindowsSdkDir_81)
    $(WindowsSdkDir_81A)
    $(WindowsSDKToolArchitecture)
    $(WindowsTargetPlatformVersion)
    $(WinRT_IncludePath)
    $(WMSISProject)
    $(WMSISProjectDirectory)
    

    Where to find this list within Visual Studio:

    1. Open your C++ project's dialogue Property Pages
    2. Select any textual field that can use a configuration variable. (in the screenshot, I use Target Name)
    3. On the right side of the text box, click the small combobox button and select option <Edit...>.
    4. In the new window (here, title is Target Name), click on button Macros>>.
    5. Scroll through the giant list of environment/linker/macro variables.

    Motivational screenshot:

    0 讨论(0)
提交回复
热议问题