VCCLCompilerTool.AdditionalOptions プロパティ

定義

コマンド ラインの末尾、ファイル名の直前に追加するオプションを取得または設定します。 たとえば、あるオプションがオブジェクト モデルでサポートされない場合に指定します。

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

プロパティ値

String

コマンド ラインの末尾、ファイル名の直前に追加するオプション。

属性

次の例は、プロパティとプロパティを使用してスイッチを設定する方法を示して EnablePREfast AdditionalOptions /analyze:WX- います。 (両方のプロパティがこれを行うために必要です)。を指定すると、 /analyze:WX- を使用してコンパイルするときに、コード分析の警告がエラーとして扱われなくなり /WX ます。 詳細については、「 /analyze (コード分析)」を参照してください。

' 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);  
    }  
}  

適用対象