Skip to content

Commit df24fc4

Browse files
authored
Merge pull request #3594 from MicrosoftDocs/master
6/1/2021 AM Publish
2 parents 30fbb52 + 1a859cc commit df24fc4

File tree

3 files changed

+150
-153
lines changed

3 files changed

+150
-153
lines changed
Lines changed: 56 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,115 @@
11
---
2-
description: "Learn more about: Advanced Property Page"
2+
description: "Use the Advanced property page in Visual Studio 2019 to set various properties for C++ projects."
33
title: "Advanced Property Page (Project)"
4-
ms.date: 02/05/2021
5-
f1_keywords: ["VC.Project.VCConfiguration.VCToolsVersion","VC.Project.VCConfiguration.LLVMToolsVersion"]
6-
ms.description: "Use the Advanced property page in Visual Studio 2019 to set various properties for C++ projects."
4+
ms.date: 05/28/2021
5+
f1_keywords: ["VC.Project.VCConfiguration.TargetExt", "VC.Project.VCConfiguration.DeleteExtensionsOnClean", "VC.Project.VCConfiguration.BuildLogFile", "VC.Project.VCConfiguration.PreferredToolArchitecture", "VC.Project.VCConfiguration.UseDebugLibraries", "VC.Project.VCConfiguration.EnableUnitySupport", "VC.Project.VCConfiguration.CopyLocalDeploymentContent", "VC.Project.VCConfiguration.CopyLocalProjectReference", "VC.Project.VCConfiguration.CopyLocalDebugSymbols", "VC.Project.VCConfiguration.CopyCppRuntimeToOutputDir", "VC.Project.VCConfiguration.useOfMfc", "VC.Project.VCConfiguration.CharacterSet", "VC.Project.VCConfiguration.WholeProgramOptimization", "VC.Project.VCConfiguration.VCToolsVersion", "VC.Project.VCConfiguration.LLVMToolsVersion", "VC.Project.VCConfiguration.ManagedExtensions", "VC.Project.TargetFrameworkVersion", "VC.Project.VCConfiguration.EnableManagedIncrementalBuild"]
76
---
87
# Advanced Property Page
98

109
::: moniker range="<=msvc-150"
1110

12-
The Advanced property page is available in Visual Studio 2019 and later. To see the documentation for that version, set the Visual Studio **Version** selector control for this article to Visual Studio 2019. It's found at the top of the table of contents on this page.
11+
The Advanced property page is available in Visual Studio 2019 and later. To see the documentation for that version, set the Visual Studio **Version** selector control for this article to Visual Studio 2019. It's found at the top of the table of contents on this page. In earlier versions of Visual Studio, these properties appear on the [General property page](./general-property-page-project.md):
12+
13+
- [Target Extension](./general-property-page-project.md#target-extension)
14+
- [Extensions to Delete on Clean](./general-property-page-project.md#extensions-to-delete-on-clean)
15+
- [Build Log File](./general-property-page-project.md#build-log-file)
16+
- [Enable Managed Incremental Build](./general-property-page-project.md#enable-managed-incremental-build)
17+
- [Use of MFC](./general-property-page-project.md#use-of-mfc)
18+
- [Character Set](./general-property-page-project.md#character-set)
19+
- [Whole Program Optimization](./general-property-page-project.md#whole-program-optimization)
20+
- [Common Language Runtime support](./general-property-page-project.md#common-language-runtime-support)
21+
- [.NET Target Framework Version](./general-property-page-project.md#net-target-framework-version)
1322

1423
::: moniker-end
1524

1625
::: moniker range="msvc-160"
1726

18-
The Advanced property page is available in Visual Studio 2019 and later.
27+
The Advanced property page is available in Visual Studio 2019 and later. The specific properties shown depend on the project type. Windows Runtime (Universal Windows Platform, or UWP) projects don't show this page.
1928

2029
## Advanced Properties
2130

22-
- **Target File Extension**
31+
### Target File Extension
2332

24-
Specifies the file extension to use for the build output. Defaults to *`.exe`* for applications, *`.lib`* for static libraries and *`.dll`* for DLLs.
33+
Specifies the file extension to use for the build output. Defaults to *`.exe`* for applications, *`.lib`* for static libraries and *`.dll`* for DLLs.
2534

26-
- **Extensions to Delete on Clean**
35+
### Extensions to Delete on Clean
2736

28-
The **Clean** option (**Build** menu) deletes files from the intermediate directory where a project's configuration is built. Files with extensions specified in this property get deleted when **Clean** is run or when you rebuild. The build system deletes any files that have these extensions in the intermediate directory. It also deletes any known output of the build, no matter where it's located. (That includes the intermediate outputs such as *`.obj`* files.) You can specify wildcard characters in this property.
37+
The **Build** > **Clean** menu command deletes files from the intermediate directory where a project's configuration is built. The build system deletes files that have the specified extensions when you run the **Clean** command or when you rebuild. The build system also deletes any known output of the build no matter where it's located. Deleted files include any intermediate outputs such as *`.obj`* files. Use semicolons (**`;`**) to separate extensions. You can specify wildcard characters (**`*`**, **`?`**) in the extensions.
2938

30-
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProjectEngine.VCConfiguration.DeleteExtensionsOnClean%2A>.
39+
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProjectEngine.VCConfiguration.DeleteExtensionsOnClean%2A>.
3140

32-
- **Build Log File**
41+
### Build Log File
3342

34-
Allows you to specify a non-default location for the log file that's created whenever you build a project. The default location is specified by the macros `$(IntDir)$(MSBuildProjectName).log`.
43+
Allows you to specify a non-default location for the log file that's created whenever you build a project. The default location is specified by the macros `$(IntDir)$(MSBuildProjectName).log`.
3544

36-
You can use project macros to change the directory location. See [Common macros for build commands and properties](common-macros-for-build-commands-and-properties.md).
45+
You can use project macros to change the directory location. See [Common macros for build commands and properties](common-macros-for-build-commands-and-properties.md).
3746

38-
- **Preferred Build Tool Architecture**
47+
### Preferred Build Tool Architecture
3948

40-
Specifies whether to use the x86 or x64 build tools.
49+
Specifies whether to use the x86 or x64 build tools.
4150

42-
- **Use Debug Libraries**
51+
### Use Debug Libraries
4352

44-
Specifies whether to create a Debug or Release build.
53+
Specifies whether to create a Debug or Release build.
4554

46-
- **Enable Unity (JUMBO) build**
55+
### Enable Unity (JUMBO) build
4756

48-
Enables a faster build process that combines many C++ source files into one or more files before compilation. These combined files are known as *unity* files. They're unrelated to the Unity game engine.
57+
Enables a faster build process that combines many C++ source files into one or more files before compilation. These combined files are known as *unity* files. They're unrelated to the Unity game engine.
4958

50-
- **Copy Content to OutDir**
59+
### Copy Content to OutDir
5160

52-
Copy the items marked as *content* in the project to the project's output directory (`$(OutDir)`). This setting can simplify deployment. This property is available starting in Visual Studio 2019 version 16.7.
61+
Copy the items marked as *content* in the project to the project's output directory (`$(OutDir)`). This setting can simplify deployment. This property is available starting in Visual Studio 2019 version 16.7.
5362

54-
- **Copy Project References to OutDir**
63+
### Copy Project References to OutDir
5564

56-
Copy the executable (DLL and EXE file) project reference items to the project's output directory (`$(OutDir)`). In C++/CLI ([`/clr`](clr-common-language-runtime-compilation.md)) projects, this property is ignored. Instead, the **Copy Local** property on each project reference controls whether it's copied to the output directory. This setting can simplify local deployment. It's available starting in Visual Studio 2019 version 16.7.
65+
Copy the executable (DLL and EXE file) project reference items to the project's output directory (`$(OutDir)`). In C++/CLI ([`/clr`](clr-common-language-runtime-compilation.md)) projects, this property is ignored. Instead, the **Copy Local** property on each project reference controls whether it's copied to the output directory. This setting can simplify local deployment. It's available starting in Visual Studio 2019 version 16.7.
5766

58-
- **Copy Project References' Symbols to OutDir**
67+
### Copy Project References' Symbols to OutDir
5968

60-
Copy the PDB files for project reference items along with the project reference executable items to the project's output directory (`$(OutDir)`). This property is always enabled for C++/CLI projects. This setting can simplify debug deployment. It's available starting in Visual Studio 2019 version 16.7.
69+
Copy the PDB files for project reference items along with the project reference executable items to the project's output directory (`$(OutDir)`). This property is always enabled for C++/CLI projects. This setting can simplify debug deployment. It's available starting in Visual Studio 2019 version 16.7.
6170

62-
- **Copy C++ Runtime to OutDir**
71+
### Copy C++ Runtime to OutDir
6372

64-
Copy the runtime DLLs to the project's output directory (`$(OutDir)`). This setting can simplify local deployment. It's available starting in Visual Studio 2019 version 16.7.
73+
Copy the runtime DLLs to the project's output directory (`$(OutDir)`). This setting can simplify local deployment. It's available starting in Visual Studio 2019 version 16.7.
6574

66-
- **Use of MFC**
75+
### Use of MFC
6776

68-
Specifies whether the MFC project statically or dynamically links to the MFC DLL. In non-MFC projects, select **Use Standard Windows Libraries** to link the Win32 libraries included by MFC.
77+
Specifies whether the MFC project statically or dynamically links to the MFC DLL. Non-MFC projects select **Use Standard Windows Libraries**.
6978

70-
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProject.VCProjectConfigurationProperties.useOfMfc%2A>.
79+
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProject.VCProjectConfigurationProperties.useOfMfc%2A>.
7180

72-
- **Character Set**
81+
### Character Set
7382

74-
Defines whether `_UNICODE` or `_MBCS` should be set. Also affects the linker entry point where appropriate.
83+
Specifies whether the `_UNICODE` or `_MBCS` preprocessor macro should be set. Also affects the linker entry point, where appropriate.
7584

76-
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProject.VCProjectConfigurationProperties.CharacterSet%2A>.
85+
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProject.VCProjectConfigurationProperties.CharacterSet%2A>.
7786

78-
- **Whole Program Optimization**
87+
### Whole Program Optimization
7988

80-
Specifies the [`/GL`](gl-whole-program-optimization.md) compiler option and [`/LTCG`](ltcg-link-time-code-generation.md) linker option. By default, whole program optimization is disabled for Debug configurations, and enabled for Release configurations.
89+
Specifies the [`/GL`](gl-whole-program-optimization.md) compiler option and [`/LTCG`](ltcg-link-time-code-generation.md) linker option. By default, this property is disabled for Debug configurations, and enabled for Release configurations.
8190

82-
- **MSVC Toolset Version**
91+
### MSVC Toolset Version
8392

84-
Specifies the full version of the MSVC toolset that's used to build the project. You may have various update and preview versions of a toolset installed. You can specify which one to use here.
93+
Specifies the full version of the MSVC toolset that's used to build the project. You may have various update and preview versions of a toolset installed. You can specify which one to use here.
8594

86-
- **LLVM Toolset Version**
95+
### LLVM Toolset Version
8796

88-
Specifies the full version of the LLVM toolset that's used to build the project. This property is available when **LLVM (clang-cl)** is selected as the platform toolset, starting in Visual Studio 2019 version 16.9. For more information, see [Set a custom LLVM toolset version](..\clang-support-msbuild.md#custom_llvm_toolset).
97+
Specifies the full version of the LLVM toolset that's used to build the project. This property is available when **LLVM (clang-cl)** is selected as the platform toolset, starting in Visual Studio 2019 version 16.9. For more information, see [Set a custom LLVM toolset version](..\clang-support-msbuild.md#custom_llvm_toolset).
8998

9099
## C++/CLI Properties
91100

92-
- **Common Language Runtime support**
101+
### Common Language Runtime support
93102

94-
Causes the [`/clr`](clr-common-language-runtime-compilation.md) compiler option to be used.
103+
Causes the [`/clr`](clr-common-language-runtime-compilation.md) compiler option to be used.
95104

96-
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProject.VCProjectConfigurationProperties.ManagedExtensions%2A>.
105+
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProject.VCProjectConfigurationProperties.ManagedExtensions%2A>.
97106

98-
- **.NET Target Framework Version**
107+
### .NET Target Framework Version
99108

100-
In managed projects, specifies the .NET framework version to target.
109+
In managed projects, specifies the .NET framework version to target.
101110

102-
- **Enable Managed Incremental Build**
111+
### Enable Managed Incremental Build
103112

104-
For managed projects, this option enables detection of external visibility when you generate assemblies. If a change to a managed project isn't visible to other projects, dependent projects aren't rebuilt. Managed incremental builds can dramatically improve build times in solutions that include managed projects.
113+
For managed projects, this option enables detection of external visibility when you generate assemblies. If a change to a managed project isn't visible to other projects, dependent projects aren't rebuilt. Managed incremental builds can dramatically improve build times in solutions that include managed projects.
105114

106115
::: moniker-end

0 commit comments

Comments
 (0)