Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

VCCLCompilerTool.AdditionalOptions Property

Definition

Namespace:
Microsoft.VisualStudio.VCProjectEngine
Assembly:
Microsoft.VisualStudio.VCProjectEngine.dll
Package:
Microsoft.VisualStudio.VCProjectEngine v17.14.40264

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Gets or sets options to add to the end of the command line immediately before the file name(s). An example is if an option is not supported in the object model.

public:
 property System::String ^ AdditionalOptions { System::String ^ get(); void set(System::String ^ value); };
public:
 property Platform::String ^ AdditionalOptions { Platform::String ^ get(); void set(Platform::String ^ value); };
[System.Runtime.InteropServices.DispId(1)]
public string AdditionalOptions { [System.Runtime.InteropServices.DispId(1)] get; [System.Runtime.InteropServices.DispId(1)] set; }
[<System.Runtime.InteropServices.DispId(1)>]
[<get: System.Runtime.InteropServices.DispId(1)>]
[<set: System.Runtime.InteropServices.DispId(1)>]
member this.AdditionalOptions : string with get, set
Public Property AdditionalOptions As String

Property Value

Options added to the end of the command line immediately before the file name(s)

Attributes

Examples

The following example demonstrates how to use the EnablePREfast and AdditionalOptions properties to set the /analyze:WX- switch. (Both properties are required to do this.) Specifying /analyze:WX- means that code analysis warnings will not be treated as errors when compiling with /WX. For more information, see /analyze (Code Analysis).

' Add reference to Microsoft.VisualStudio.VCProjectEngine. 
Imports System 
Imports EnvDTE 
Imports EnvDTE80 
Imports System.Diagnostics 
Imports Microsoft.VisualStudio.VCProjectEngine 
Imports System.Text 

Sub EnablePREfastExample(ByVal dte As DTE2) 
 Dim prj As VCProject 
 Dim cfgs, tools As IVCCollection 
 Dim cfg As VCConfiguration 
 Dim tool As VCCLCompilerTool 
 Dim sb As New StringBuilder 

 prj = CType(dte.Solution.Projects.Item(1).Object, _ 
 Microsoft.VisualStudio.VCProjectEngine.VCProject) 
 cfgs = CType(prj.Configurations, _ 
 Microsoft.VisualStudio.VCProjectEngine.IVCCollection) 
 cfg = CType(cfgs.Item(1), _ 
 Microsoft.VisualStudio.VCProjectEngine.VCConfiguration) 
 tool = CType(cfg.Tools("VCCLCompilerTool"), _ 
 Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool) 

 sb.Length = 0 
 sb.Append("Current project PREfast setting: " _ 
 & tool.EnablePREfast & Environment.NewLine) 
 sb.Append("Flag: " & tool.AdditionalOptions) 
 MsgBox(sb.ToString) 

 ' Toggle PREfast setting. 
 If Not (tool.EnablePREfast = True) Then 
 ' PREfast is not enabled. Turn it and the WX- flag on. 
 tool.EnablePREfast = True 
 tool.AdditionalOptions = "/analyze:WX-" 
 Else 
 ' Toggle the opposite. 
 tool.EnablePREfast = False 
 tool.AdditionalOptions = "/analyze:WX" 
 End If 
 sb.Length = 0 
 sb.Append("New project PREfast setting: " _ 
 & tool.EnablePREfast & Environment.NewLine) 
 sb.Append("Flag: " & tool.AdditionalOptions) 
 MsgBox(sb.ToString) 
End Sub 
// Add references to Microsoft.VisualStudio.VCProjectEngine and 
// System.Windows.Forms. 
using System; 
using Extensibility; 
using EnvDTE; 
using EnvDTE80; 
using Microsoft.VisualStudio.VCProjectEngine; 
using System.Text; 
using System.Windows.Forms; 

public void EnablePREfastExample(DTE2 dte) 
{ 
 try 
 { 
 VCProject prj; 
 IVCCollection cfgs, tools; 
 VCConfiguration cfg; 
 VCCLCompilerTool tool; 
 StringBuilder sb = new StringBuilder(); 

 prj = (Microsoft.VisualStudio.VCProjectEngine.VCProject) 
 dte.Solution.Projects.Item(1).Object; 
 cfgs = 
 (Microsoft.VisualStudio.VCProjectEngine.IVCCollection) 
 prj.Configurations; 
 cfg = 
 (Microsoft.VisualStudio.VCProjectEngine.VCConfiguration) 
 cfgs.Item(1); 
 tools = 
 (Microsoft.VisualStudio.VCProjectEngine.IVCCollection) 
 cfg.Tools; 
 tool = 
 (Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool) 
 tools.Item("VCCLCompilerTool"); 

 sb.Length = 0; 
 sb.Append("Current project PREfast setting: " + 
 tool.EnablePREfast + Environment.NewLine); 
 sb.Append("Flag: " + tool.AdditionalOptions); 
 MessageBox.Show(sb.ToString()); 

 // Toggle PREfast setting. 
 if (!(tool.EnablePREfast == true)) 
 { 
 // PREfast is not enabled. Turn it and the WX- flag on. 
 tool.EnablePREfast = true; 
 tool.AdditionalOptions = "/analyze:WX-"; 
 } 
 else 
 { 
 // Toggle the opposite. 
 tool.EnablePREfast = false; 
 tool.AdditionalOptions = "/analyze:WX"; 
 } 
 sb.Length = 0; 
 sb.Append("New project PREfast setting: " + 
 tool.EnablePREfast + Environment.NewLine); 
 sb.Append("Flag: " + tool.AdditionalOptions); 
 MessageBox.Show(sb.ToString()); 
 } 
 catch (System.Exception errmsg) 
 { 
 MessageBox.Show("ERROR! " + errmsg.Message); 
 } 
} 

Applies to