VCProjectConfigurationProperties.WholeProgramOptimization Property
Enables cross-module optimizations by delaying code generation to link time. Exposes the functionality of the compiler's /GL (Whole Program Optimization) option.
Namespace: Microsoft.VisualStudio.VCProject
Assembly: Microsoft.VisualStudio.VCProject (in Microsoft.VisualStudio.VCProject.dll)
Syntax
'Declaration
Property WholeProgramOptimization As WholeProgramOptimizationTypes
WholeProgramOptimizationTypes WholeProgramOptimization { get; set; }
property WholeProgramOptimizationTypes WholeProgramOptimization {
WholeProgramOptimizationTypes get ();
void set (WholeProgramOptimizationTypes value);
}
abstract WholeProgramOptimization : WholeProgramOptimizationTypes with get, set
function get WholeProgramOptimization () : WholeProgramOptimizationTypes
function set WholeProgramOptimization (value : WholeProgramOptimizationTypes)
Property Value
Type: Microsoft.VisualStudio.VCProject.WholeProgramOptimizationTypes
A WholeProgramOptimizationTypes enumeration.
Remarks
It is better to set the VCConfiguration object's WholeProgramOptimization property rather than to set the compiler property of the same name and the linker's LinkTimeCodeGeneration property.
The compiler's version of this property and the linker's LinkTimeCodeGeneration property are not available via the property pages.
See How to: Compile Example Code for Project Model Extensibility for information on how to compile and run this sample.
Examples
[Visual Basic]
The following example code modifies the VCConfiguration object's WholeProgramOptimization property in the development environment:
' add reference to Microsoft.VisualStudio.VCProjectEngine
Imports EnvDTE
Imports Microsoft.VisualStudio.VCProjectEngine
Public Module Module1
Sub Test()
Dim Test As Boolean
Dim prj As VCProject
Dim cfgs As IVCCollection
Dim cfg As VCConfiguration
Dim MyDbg As VCDebugSettings
prj = DTE.Solution.Projects.Item(1).Object
cfgs = prj.Configurations
cfg = cfgs.Item(1)
cfg.WholeProgramOptimization = True
End Sub
End Module
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.