Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В зависимости от параметров установки Visual Studio может сделать сотни макросов доступными для вас в проекте Visual Studio на основе .vcxproj MSBuild. Макросы соответствуют свойствам MSBuild, заданным по умолчанию или файлам .props.targets или параметрам проекта. Эти макросы можно использовать в любом месте диалогового окна Страницы свойств проекта, где допустимы строки. Эти макросы не учитывает регистр.
Просмотр текущих свойств и макросов
Чтобы отобразить все доступные макросы, откройте страницы свойств проекта в главном меню, выбрав >". В диалоговом окне "Страницы свойств" выберите запись с макросом. Макрос можно распознать по знаку доллара и скобкам, окружающим его имя.
Например, в левой области выберите "Свойства>конфигурации" каталогов VC++, а затем в правой области выберите "Включить каталоги". Значением для каталогов Include является $(VC_IncludePath);$(WindowsSDK_IncludePath);.
Знак доллара и скобки, окружающие эти два значения, указывают на то, что они макросы. Расширение этих двух макросов задает каталоги включения для поиска.
Выберите " Включить каталоги " и раскрывающийся список появится в конце строки. Нажмите кнопку раскрывающегося списка, а затем нажмите кнопку "Изменить". В появившемся диалоговом окне "Включить каталоги" нажмите кнопку "Макросы>>".
Это расширяет диалоговое окно, чтобы отобразить текущий набор свойств и макросов, видимых Visual Studio, а также текущее значение для каждого. Дополнительные сведения см. в разделе "Указание определяемых пользователем значений" на странице свойств проекта C++ .
Справа находится список макросов Visual Studio, таких как $(AllowLocalNetworkLoopback). В левой области показано вычисляемое значение свойства include directory. В нижней области показано, какие макросы были развернуты(если таковые имеются), чтобы создать значение свойства каталога. Так как макрос "Включить каталоги" представляет собой сочетание двух других макросов , $(VC_IncludePath) и $(WindowsSDK_IncludePath), нижней панели, помеченной как унаследованные значения, перечисляются эти два макроса.
Список общих макросов
В этой таблице описывается часто используемое подмножество доступных макросов; Здесь еще много не перечислены. Перейдите в диалоговое окно "Макросы" , чтобы просмотреть все свойства и их текущие значения в проекте. Дополнительные сведения о создании и использовании определений свойств MSBuild в качестве макросов в , .propsа также .targets файлах см. в .vcxprojразделе "Свойства MSBuild".
| Макрос | Description |
|---|---|
$(Configuration) |
Имя текущей конфигурации проекта, например "Debug". |
$(DevEnvDir) |
Каталог установки Visual Studio (определяется как диск + путь); включает конечную обратную косую черту (\). |
$(FrameworkDir) |
Каталог, в котором установлена платформа .NET Framework. |
$(FrameworkSDKDir) |
Каталог, в котором установлена платформа .NET Framework. Возможно, платформа .NET Framework были установлены как часть Visual Studio или отдельно. |
$(FrameworkVersion) |
Версия платформы .NET Framework, используемая Visual Studio. В сочетании с $(FrameworkDir)полным путем к версии платформа .NET Framework, используемой Visual Studio. |
$(FxCopDir) |
Путь к файлу fxcop.cmd. Файл fxcop.cmd не установлен во всех выпусках Visual Studio. |
$(IntDir) |
Путь к каталогу, заданному для промежуточных файлов. Если это относительный путь, промежуточные файлы переходят к этому пути, добавленным в каталог проекта. Этот путь должен иметь конечную обратную косую черту (\). Он разрешает значение свойства Промежуточного каталога . Не используйте $(OutDir) для определения этого свойства. |
$(OutDir) |
Путь к каталогу выходных файлов. Если это относительный путь, выходные файлы переходят к этому пути, добавленному в каталог проекта. Этот путь должен иметь конечную обратную косую черту (\). Он разрешает значение свойства Output Directory . Не используйте $(IntDir) для определения этого свойства. |
$(Platform) |
Имя текущей платформы проекта, например Win32. |
$(PlatformShortName) |
Короткое имя текущей архитектуры, например x86 или x64. |
$(ProjectDir) |
Каталог проекта (определяется как диск + путь); включает конечную обратную косую черту (\). |
$(ProjectExt) |
Расширение файла проекта. Включает символ "." перед расширением файла. |
$(ProjectFileName) |
Имя файла проекта (определяется как базовое имя + расширение файла). |
$(ProjectName) |
Базовое имя проекта. |
$(ShortProjectName) |
Сокращенное имя проекта, используемое при IntDir отмене набора; по умолчанию $(ProjectName) усечение длинных имен ProjectName.Substring(0,8).ProjectGuid.Substring(1,8) для сохранения промежуточных путей коротких и уникальных. |
$(ProjectPath) |
Абсолютный путь к проекту (определяется как диск + путь + базовое имя + расширение файла). |
$(PublishDir) |
Расположение выходных данных для целевого объекта публикации; включает конечную обратную косую черту (\). По умолчанию используется $(OutDir)app.publish\ папка. |
$(RemoteMachine) |
Задайте значение свойства Remote Machine на странице свойств отладки. Дополнительные сведения см. в разделе "Изменение параметров проекта" для конфигурации отладки C/C++. |
$(RootNameSpace) |
Пространство имен (при наличии), содержащее приложение. |
$(SolutionDir) |
Каталог решения (определенный как диск + путь); включает конечную обратную косую черту (\). Он определяется только при сборке решения в интегрированной среде разработки. |
$(SolutionExt) |
Расширение файла решения. Включает символ "." перед расширением файла. Он определяется только при сборке решения в интегрированной среде разработки. |
$(SolutionFileName) |
Имя файла решения (определяется как базовое имя + расширение файла). Он определяется только при сборке решения в интегрированной среде разработки. |
$(SolutionName) |
Базовое имя решения. Он определяется только при сборке решения в интегрированной среде разработки. |
$(SolutionPath) |
Абсолютный путь к решению (определяется как диск + путь + базовое имя + расширение файла). Он определяется только при сборке решения в интегрированной среде разработки. |
$(TargetDir) |
Каталог первичного выходного файла сборки (определяется как диск + путь); включает конечную обратную косую черту (\). |
$(TargetExt) |
Расширение имени основного выходного файла сборки. Включает символ "." перед расширением файла. |
$(TargetFileName) |
Имя основного выходного файла для сборки (определяется как базовое имя + расширение файла). |
$(TargetName) |
Базовое имя основного выходного файла сборки. |
$(TargetPath) |
Абсолютный путь к основному выходному файлу для сборки (определяется как диск + путь + базовое имя + расширение файла). |
$(VCInstallDir) |
Каталог с содержимым C++ из установки Visual Studio. Это свойство содержит версию целевого набора инструментов Microsoft C++ (MSVC), который может отличаться от Visual Studio узла. Например, при сборке с $(PlatformToolset) = v140помощью содержит $(VCInstallDir) путь к установке Visual Studio 2015. |
$(VSInstallDir) |
Каталог, в котором установлено программное обеспечение Visual Studio. Это свойство содержит версию целевого набора инструментов Visual Studio, который может отличаться от Visual Studio узла. Например, при сборке с $(PlatformToolset) = v110помощью содержит $(VSInstallDir) путь к установке Visual Studio 2012. |
$(WebDeployPath) |
Относительный путь от корня веб-развертывания до каталога выходных данных проекта. |
$(WebDeployRoot) |
Абсолютный путь к расположению <localhost>. Например, c:\inetpub\wwwroot. |
Устаревшие макросы
Система сборки для C++ была значительно изменена между Visual Studio 2008 и Visual Studio 2010. Многие макросы, используемые в предыдущих типах проектов, изменились на новые. Эти макросы больше не используются или заменяются одним или несколькими эквивалентными свойствами или метаданных элемента. Средство миграции может обновить макросы, помеченные как "перенесенные". Если проект, содержащий макрос, переносится из Visual Studio 2008 или более ранней версии в Visual Studio 2010, Visual Studio преобразует макрос в эквивалентный текущий макрос. Более поздние версии Visual Studio не могут преобразовывать проекты с Visual Studio 2008 и более ранних версий в новые типы проектов. Необходимо преобразовать эти проекты в два этапа — сначала преобразуйте их в Visual Studio 2010, а затем преобразуйте результат для более новой версии Visual Studio. Дополнительные сведения см. в статье Общие сведения о возможных проблемах, возникающих при обновлении.
| Макрос | Description |
|---|---|
$(InputDir) |
(Перенесено.) Каталог входного файла (определяется как диск + путь); включает конечную обратную косую черту (\). Если проект является входным, этот макрос эквивалентен $(ProjectDir). |
$(InputExt) |
(Перенесено.) Расширение файла ввода. Включает символ "." перед расширением файла. Если проект является входным, этот макрос эквивалентен $(ProjectExt). Для исходных файлов это эквивалентно %(Extension). |
$(InputFileName) |
(Перенесено.) Имя файла ввода (определяется как базовое имя и расширение файла). Если проект является входным, этот макрос эквивалентен $(ProjectFileName). Для исходных файлов это эквивалентно %(Identity). |
$(InputName) |
(Перенесено.) Базовое имя входного файла. Если проект является входным, этот макрос эквивалентен $(ProjectName). Для исходных файлов это эквивалентно %(Filename). |
$(InputPath) |
(Перенесено.) Абсолютное имя входного файла (определяется как диск + путь + базовое имя + расширение файла). Если проект является входным, этот макрос эквивалентен $(ProjectPath). Для исходных файлов это эквивалентно %(FullPath). |
$(ParentName) |
Имя элемента, содержащего данный элемент проекта. Этот макрос — это имя родительской папки или имя проекта. |
$(SafeInputName) |
Имя файла как допустимое имя класса (без расширения файла). Это свойство не имеет точного эквивалента. |
$(SafeParentName) |
Имя непосредственного родителя в допустимом формате. Например, форма является родительским элементом .resx файла. Это свойство не имеет точного эквивалента. |
$(SafeRootNamespace) |
Имя пространства имен, в котором мастера проекта должны добавить код. Это имя пространства имен содержит только символы, которые разрешены в допустимом идентификаторе C++. Это свойство не имеет точного эквивалента. |
См. также
Проекты Visual Studio — C++
Руководство по переносу и обновлению Visual C++
Общие сведения о возможных проблемах, возникающих при обновлении
Общеизвестные метаданные элементов MSBuild