VCCLCompilerTool.AdditionalOptions Özellik

Tanım

Dosya adından hemen önce, komut satırının sonuna eklenecek seçenekleri alır veya ayarlar. Bir seçenek, nesne modelinde desteklenmiyorsa bir örnektir.

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

Özellik Değeri

String

Komut satırının sonuna dosya adından hemen önce eklenen seçenekler

Öznitelikler

Örnekler

Aşağıdaki örnek, EnablePREfast AdditionalOptions anahtar ayarlamak için ve özelliklerini nasıl kullanacağınızı gösterir /analyze:WX- . (Bunu yapmak için her iki özellik de gereklidir.) Belirtildiğinde /analyze:WX- , kod analizi uyarılarının ile derlenirken hata olarak değerlendirilmeyeceği anlamına gelir /WX . Daha fazla bilgi için bkz. /analyze (kod analizi).

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

Şunlara uygulanır