Skip to content

Commit 8c767c1

Browse files
author
Colin Robertson
authored
Add Copy options to Advanced prop page per 2342 (MicrosoftDocs#3040)
* Add Copy options to Advanced prop page per 2342 * Tweaks * Updates per * Include version selector instructions
1 parent 55922b4 commit 8c767c1

File tree

1 file changed

+35
-13
lines changed

1 file changed

+35
-13
lines changed
Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,36 @@
11
---
22
title: "Advanced Property Page (Project)"
3-
ms.date: "07/19/2019"
3+
ms.date: 08/10/2020
44
f1_keywords: ["VC.Project.VCConfiguration.VCToolsVersion"]
55
ms.description: "Use the Advanced property page in Visual Studio 2019 to set various properties for C++ projects."
66
---
77
# Advanced Property Page
88

9-
The Advanced property page is available in Visual Studio 2019 and later.
9+
::: moniker range="<=vs-2017"
10+
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.
12+
13+
::: moniker-end
1014

1115
::: moniker range="vs-2019"
1216

17+
The Advanced property page is available in Visual Studio 2019 and later.
18+
1319
## Advanced Properties
1420

1521
- **Target File Extension**
1622

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

1925
- **Extensions to Delete on Clean**
2026

21-
The **Clean** option (**Build** menu) deletes files from the intermediate directory where a project's configuration is built. Files with extensions specified with this property will be deleted when **Clean** is run or when you perform a rebuild. In addition to files of these extensions in the intermediate directory, the build system will also delete any known output of the build regardless of where it is located (including intermediate outputs such as .obj files). Note that you can specify wildcard characters.
27+
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.
2228

2329
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProjectEngine.VCConfiguration.DeleteExtensionsOnClean%2A>.
2430

2531
- **Build Log File**
2632

27-
Allows you to specify a non-default location for the log file that is created whenever you build a project. The default location is specified by the macros $(IntDir)$(MSBuildProjectName).log.
33+
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`.
2834

2935
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).
3036

@@ -34,37 +40,53 @@ The Advanced property page is available in Visual Studio 2019 and later.
3440

3541
- **Use Debug Libraries**
3642

37-
Specifies whether to create a DEBUG or RELEASE build.
43+
Specifies whether to create a Debug or Release build.
3844

3945
- **Enable Unity (JUMBO) build**
4046

41-
Enables a build process where many C++ source files are combined into one or more "unity" files before compilation to improve build performance. Unrelated to the Unity game engine.
47+
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.
48+
49+
- **Copy Content to OutDir**
50+
51+
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.
52+
53+
- **Copy Project References to OutDir**
54+
55+
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.
56+
57+
- **Copy Project References' Symbols to OutDir**
58+
59+
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.
60+
61+
- **Copy C++ Runtime to OutDir**
62+
63+
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.
4264

4365
- **Use of MFC**
4466

45-
Specifies whether the MFC project will statically or dynamically link to the MFC DLL. Non-MFC projects can select **Use Standard Windows Libraries** to link to various Win32 libraries that are included when you use MFC.
67+
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.
4668

4769
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProject.VCProjectConfigurationProperties.useOfMfc%2A>.
4870

4971
- **Character Set**
5072

51-
Defines whether _UNICODE or _MBCS should be set. Also affects the linker entry point where appropriate.
73+
Defines whether `_UNICODE` or `_MBCS` should be set. Also affects the linker entry point where appropriate.
5274

5375
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProject.VCProjectConfigurationProperties.CharacterSet%2A>.
5476

5577
- **Whole Program Optimization**
5678

57-
Specifies the [/GL](gl-whole-program-optimization.md) compiler option and [/LTCG](ltcg-link-time-code-generation.md) linker option. By default, this is disabled for Debug configurations, and enabled for Retail configurations.
79+
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.
5880

5981
- **MSVC Toolset Version**
6082

61-
Specifies the full version of the MSVC toolset that will be used to build the project. If you have various update and preview versions of a toolset installed, you can specify which one to use here.
83+
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.
6284

6385
## C++/CLI Properties
6486

6587
- **Common Language Runtime support**
6688

67-
Causes the [/clr](clr-common-language-runtime-compilation.md) compiler option to be used.
89+
Causes the [`/clr`](clr-common-language-runtime-compilation.md) compiler option to be used.
6890

6991
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProject.VCProjectConfigurationProperties.ManagedExtensions%2A>.
7092

@@ -74,6 +96,6 @@ The Advanced property page is available in Visual Studio 2019 and later.
7496

7597
- **Enable Managed Incremental Build**
7698

77-
For managed projects, this enables detection of external visibility when you generate assemblies. If a change to a managed project is not visible to other projects, then dependent projects are not rebuilt. This can dramatically improve build times in solutions that include managed projects.
99+
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.
78100

79101
::: moniker-end

0 commit comments

Comments
 (0)