VCCLCompilerTool-Schnittstelle

Das VCCLCompilerTool-Objekt macht die Funktionen der C++-Compileroptionen verfügbar.Weitere Informationen zu Compileroptionen finden Sie unter Compileroptionen.

Namespace:  Microsoft.VisualStudio.VCProjectEngine
Assembly:  Microsoft.VisualStudio.VCProjectEngine (in Microsoft.VisualStudio.VCProjectEngine.dll)

Syntax

'Declaration
<GuidAttribute("5D579FF0-3839-4B36-9F3E-4BA2F790525A")> _
Public Interface VCCLCompilerTool
[GuidAttribute("5D579FF0-3839-4B36-9F3E-4BA2F790525A")]
public interface VCCLCompilerTool
[GuidAttribute(L"5D579FF0-3839-4B36-9F3E-4BA2F790525A")]
public interface class VCCLCompilerTool
[<GuidAttribute("5D579FF0-3839-4B36-9F3E-4BA2F790525A")>]
type VCCLCompilerTool =  interface end
public interface VCCLCompilerTool

Der VCCLCompilerTool-Typ macht die folgenden Member verfügbar.

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft AdditionalIncludeDirectories Ruft ein oder mehrere Verzeichnisse ab, die dem Includepfad hinzugefügt werden sollen, oder legt diese fest.AdditionalIncludeDirectories macht die Funktionen der /I (Zusätzliche Includeverzeichnisse) - Option des Compilers, der MIDL- Eigenschaftenseiten "MIDL": "Allgemein" Option des Compilers und der Eigenschaftenseiten "Ressourcen" des Ressourcencompilers verfügbar.
Öffentliche Eigenschaft AdditionalOptions Ruft die Optionen ab, die am Ende der Befehlszeile direkt vor den Dateinamen hinzugefügt werden sollen, oder legt diese fest.Ein Beispiel hierfür ist eine Option, die im Objektmodell nicht unterstützt wird.
Öffentliche Eigenschaft AdditionalUsingDirectories Ruft ab oder legt fest, um das Verzeichnis zu suchen, um Dateiverweise aufzulösen, die an die #using Direktiven (C++)-Direktive übergeben wurden.AdditionalUsingDirectories macht die Funktionalität der Compileroption /AI (Metadatenverzeichnisse festlegen) verfügbar.
Öffentliche Eigenschaft AssemblerListingLocation Ruft den relativen Pfad und/oder den Namen für eine ASM-Listendatei ab.AssemblerListingLocation macht die Funktionen der /Fa Option des Compilers verfügbar.
Öffentliche Eigenschaft AssemblerOutput Ruft ab oder legt fest ausgabedatei den Inhalt der Assemblersprachen.AssemblerOutput macht die Funktionen der /FA, /Fa (Listendatei) Optionen des Compilers verfügbar.
Öffentliche Eigenschaft BasicRuntimeChecks Ruft einen Wert ab, der angibt, ob vollständige Laufzeitfehlerüberprüfungen /RTC (Laufzeitfehlerüberprüfungen)) ausgeführt werden sollen, ob zur Laufzeit die Gültigkeit des Stapelrahmens überprüft werden soll (/RTC (Laufzeitfehlerüberprüfungen)) und ob zur Laufzeit auf nicht initialisierte Variablen überprüft werden soll (/RTC (Laufzeitfehlerüberprüfungen)), oder legt diesen fest.
Öffentliche Eigenschaft BrowseInformation Gibt die Ebene der Informationen in Durchsuchen der BSC-Datei an.BrowseInformation macht die Funktionen der /FR, /Fr (SBR-Datei erstellen) Optionen des Compilers verfügbar.
Öffentliche Eigenschaft BrowseInformationFile Ruft den optionalen Namen für die Browserinformationsdatei fest.BrowseInformationFile macht die Funktionen der /FR, /Fr (SBR-Datei erstellen) Optionen des Compilers verfügbar.
Öffentliche Eigenschaft BufferSecurityCheck Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob auf Pufferüberläufe überprüft.BufferSecurityCheck macht die Funktionalität der Compileroption /GS (Puffer-Sicherheitsüberprüfung) verfügbar.
Öffentliche Eigenschaft CallingConvention Ruft ab oder legt die Standardaufrufkonvention für die Anwendung fest.CallingConvention macht die Funktionen der /Gd, /Gr, /Gz (Aufrufkonvention) Optionen des Compilers verfügbar.
Öffentliche Eigenschaft CompileAs Kompilieren Selects Sprachoption für .c- und CPP-Dateien.CompileAs macht die Funktionen der /Tc, /Tp, /TC, /TP (Typ der Quelldatei angeben) Optionen des Compilers verfügbar.
Öffentliche Eigenschaft CompileAsManaged Ruft einen Wert ab, der Compileroptionen angibt, oder legt diesen fest.
Öffentliche Eigenschaft CompileOnly Ruft einen Wert ab, der angibt, ob die Kompilierung ohne Verknüpfen erfolgen soll, oder legt diesen fest.
Öffentliche Eigenschaft DebugInformationFormat Ruft den Typ der vom Compiler generierten Debuginformationen festgelegt.DebugInformationFormat macht die Funktionen der /Z7, /Zi, /ZI (Debuginformationsformat) Optionen des Compilers verfügbar.
Öffentliche Eigenschaft DefaultCharIsUnsigned Ruft den standardmäßigen Typ char oder legt diese Verbindung ohne Vorzeichen fest.DefaultCharIsUnsigned macht die Funktionalität der Compileroption /J (Standardmäßig "unsigned char") verfügbar.
Öffentliche Eigenschaft Detect64BitPortabilityProblems Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Compiler auf 64-Bit-Portabilitätsprobleme überprüft.Detect64BitPortabilityProblems macht die Funktionalität der Compileroption /Wp64 (Nach 64-Bit-Portabilitätsproblemen suchen) verfügbar.
Öffentliche Eigenschaft DisableLanguageExtensions Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob Spracherweiterungen unterdrückt.DisableLanguageExtensions macht die Funktionalität der Compileroption /Za, /Ze (Spracherweiterungen deaktivieren) verfügbar.
Öffentliche Eigenschaft DisableSpecificWarnings Ruft einen Wert ab oder legt einen Wert fest, der die gewünschten Warnungsnummern deaktiviert. setzt Zahlen in eine durch Semikolons getrennte Liste ein.DisableSpecificWarnings macht die Funktionalität der Compileroption /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Warnstufe) verfügbar.
Öffentliche Eigenschaft EnableEnhancedInstructionSet Ruft einen Wert ab oder legt einen Wert fest, der die Verwendung von Anweisungen ermöglicht, die auf Prozessoren gefunden werden, dass Unterstützung Befehlsätze verbesserte, wie die Erweiterungen SSE und SSE2-Anweisungen zum IA-32.EnableEnhancedInstructionSet macht die Funktionalität der Compileroption /ARCH verfügbar.
Öffentliche Eigenschaft EnableFiberSafeOptimizations Ruft einen Wert ab oder legt einen Wert fest, der die Speicherplatzoptimierung aktiviert, wenn es Fibern und lokal Threadspeicher-Zugriff verwendet.EnableFiberSafeOptimizations macht die Funktionalität der Compileroption /GT (Fiber-sicheren lokalen Thread-Speicher unterstützen) verfügbar.
Öffentliche Eigenschaft EnableFunctionLevelLinking Ruft einen Wert ab oder legt einen Wert fest, der Funktionslevel-Linking aktiviert.EnableFunctionLevelLinking macht die Funktionalität der Compileroption /Gy (Funktionslevel-Linking aktivieren) verfügbar.
Öffentliche Eigenschaft EnableIntrinsicFunctions Ruft einen Wert ab oder legt einen Wert fest, der ob systeminterne Funktionen verwendet, um eine schnellere angibt, aber möglicherweise höher Code generiert werden soll.EnableIntrinsicFunctions macht die Funktionalität der Compileroption /Oi (Systeminterne Funktionen erstellen) verfügbar.
Öffentliche Eigenschaft EnablePREfast Ruft ab oder legt fest, ob die Analyse von systemeigenem Code aktiviert ist.
Öffentliche Eigenschaft ErrorReporting Ruft die Erstellung von Compilerfehlerberichten ab oder legt diese fest.
Öffentliche Eigenschaft ExceptionHandling Ruft einen Wert ab oder legt einen Wert fest, der für Aufrufe von Destruktoren für automatische Objekte während einer Stapel verwendet wird, die durch Entladen einer Ausnahme verursacht wurde.ExceptionHandling macht die Funktionalität der Compileroption /EH (Ausnahmebehandlungsmodell) verfügbar.
Öffentliche Eigenschaft ExecutionBucket Infrastruktur. Nur für die interne Verwendung durch Microsoft vorgesehen.
Öffentliche Eigenschaft ExpandAttributedSource Ruft einen Wert ab oder legt einen Wert fest, der ob eine Listendatei mit den erweiterten Attributen, die angibt, in die Quelldatei eingefügten erstellt.ExpandAttributedSource macht die Funktionalität der Compileroption /Fx (Eingefügten Code zusammenführen) verfügbar.
Öffentliche Eigenschaft FavorSizeOrSpeed Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob Codegröße oder Geschwindigkeit Code vorzuziehen.FavorSizeOrSpeed macht die Funktionen der /Os, /Ot (Kompakten Code bevorzugen, Schnellen Code bevorzugen) Optionen des Compilers verfügbar.
Öffentliche Eigenschaft FloatingPointExceptions Legt fest oder ruft ab, ob die benutzerdefinierte Behandlung von Gleitkommaausnahmen aktiviert ist.
Öffentliche Eigenschaft floatingPointModel Legt das Gleitkommamodell fest oder ruft dieses ab.
Öffentliche Eigenschaft ForceConformanceInForLoopScope Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Compiler erzwingt die Kommunikation mit dem lokalen Bereich in eine for-Schleife anzupassen.ForceConformanceInForLoopScope macht die Funktionalität der Compileroption /Zc:forScope (Übereinstimmung in for-Schleifenbereich erzwingen) verfügbar.
Öffentliche Eigenschaft ForcedIncludeFiles Ruft einen Wert ab oder legt einen Wert fest, der eine oder mehrere erzwungene Includedateien angibt.ForcedIncludeFiles macht die Funktionalität der Compileroption /FI (Name der expliziten Includedatei) verfügbar.
Öffentliche Eigenschaft ForcedUsingFiles Erzwingt die Verwendung eines Dateinamens, als ob er an die #using Direktiven (C++)-Direktive übergeben worden wäre.ForcedUsingFiles macht die Funktionalität der Compileroption /FU (Name der expliziten #using-Datei) verfügbar.
Öffentliche Eigenschaft FullIncludePath Ruft eine Liste aller Verzeichnisse im Build ab. Eine Verkettung von mit /I angegebenen Verzeichnissen und den im Dialogfeld VC++ Directories angegebenen Verzeichnissen.Makros in diesen Verzeichnissen werden ebenfalls ausgewertet.
Öffentliche Eigenschaft GeneratePreprocessedFile Ruft ab oder legt die Option für diese Konfiguration Vorverarbeitungs fest.GeneratePreprocessedFile macht die Funktionen der /EP (Vorverarbeitung an "stdout" ohne #line-Direktiven) und /P (Vorverarbeitung in eine Datei) Optionen des Compilers verfügbar.
Öffentliche Eigenschaft GenerateXMLDocumentationFiles Legt fest oder ruft ab, ob XML-Dokumentationsdateien generiert werden sollen.
Öffentliche Eigenschaft IgnoreStandardIncludePath Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Standardincludepfad ignoriert.IgnoreStandardIncludePath macht die Funktionen der /X (Standardincludepfade ignorieren) - Option des Compilers, der MIDL- Eigenschaftenseiten "MIDL": "Allgemein" Option des Compilers und der Eigenschaftenseiten "Ressourcen" des Ressourcencompilers verfügbar.
Öffentliche Eigenschaft InlineFunctionExpansion Ruft ab oder legt die Ebene der Erweiterung für den Build Inlinefunktions fest.InlineFunctionExpansion macht die Funktionen der /Ob (Inlinefunktionserweiterung) Optionen des Compilers verfügbar.
Öffentliche Eigenschaft KeepComments Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob ein Kommentaren aus dem Quellcode unterdrückt.KeepComments macht die Funktionalität der Compileroption /C (Kommentare bei der Vorverarbeitung beibehalten) verfügbar.
Öffentliche Eigenschaft MinimalRebuild Ruft einen Wert ab oder legt einen Wert fest anklagenden, ob Änderungen an C++-Klassendefinitionen erkannt und betroffene Quelldateien neu kompilieren.MinimalRebuild macht die Funktionalität der Compileroption /Gm (Minimale Neuerstellung aktivieren) verfügbar.
Öffentliche Eigenschaft ObjectFile Ruft einen Namen ab oder legt ihn fest, um den Standardobjekt Namen der Protokolldatei zu überschreiben.ObjectFile macht die Funktionalität der Compileroption /Fo (Name der Objektdatei) verfügbar.
Öffentliche Eigenschaft OmitDefaultLibName Ruft ab oder legt fest, ob der Standardbibliotheksname weggelassen wird.
Öffentliche Eigenschaft OmitFramePointers Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob framepointers unterdrückt.OmitFramePointers macht die Funktionalität der Compileroption /Oy (Framezeiger unterdrücken) verfügbar.
Öffentliche Eigenschaft OpenMP Ruft ab oder legt fest, ob OpenMP aktiviert ist.
Öffentliche Eigenschaft Optimization Ruft einen Wert ab oder legt ihn fest. Code-Optimierung OptionenOptimization macht die Funktionen /Od (Deaktivieren (Debuggen))des Compilers, der /O1, /O2 (Größe minimieren, Geschwindigkeit maximieren)und der /Ox (Komplette Optimierung) Optionen.
Öffentliche Eigenschaft PrecompiledHeaderFile Ruft den Text ab oder legt den Pfad und/oder den Namen der generierten vorkompilierten Headerdatei fest.PrecompiledHeaderFile macht die Funktionalität der Compileroption /Fp (Name der PCH-Datei) verfügbar.
Öffentliche Eigenschaft PrecompiledHeaderThrough Ruft den Headerdatei ab oder legt sie fest, die beim Erstellen einer vorkompilierten Headerdatei oder mit.PrecompiledHeaderThrough macht die Funktionen /Yc (Datei der vorkompilierten Header erstellen)des Compilers und /Yu (Vorkompilierte Headerdatei verwenden) Optionen.
Öffentliche Eigenschaft PreprocessorDefinitions Ruft eine oder mehrere Präprozessordefinitionen ab oder legt diese fest.PreprocessorDefinitions macht die Funktionen der /D (Präprozessordefinitionen) - Option des Compilers, der MIDL- Eigenschaftenseiten "MIDL": "Allgemein" Option des Compilers und der Eigenschaftenseiten "Ressourcen" des Ressourcencompilers verfügbar.
Öffentliche Eigenschaft ProgramDataBaseFileName Ruft einen Wert ab oder legt einen Namen für eine vom Compiler generierte PDB-Datei und einen Basisnamen für die erforderliche vom Compiler generierte IDB-Datei fest.ProgramDataBaseFileName macht die Funktionalität der Compileroption /Fd (Programmdatenbank-Dateiname) verfügbar.
Öffentliche Eigenschaft RuntimeLibrary Ruft ab oder legt die Laufzeitbibliothek zum Verknüpfen fest.RuntimeLibrary macht die Funktionen der /MD, /MT, /LD (Laufzeitbibliothek verwenden) Optionen des Compilers verfügbar.
Öffentliche Eigenschaft RuntimeTypeInfo Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob zur Laufzeit Code zum Überprüfen von C++-Objekttypen Laufzeit-Typeninformation (Hinzufügen).RuntimeTypeInfo macht die Funktionalität der Compileroption /GR (Laufzeit-Typeninformation aktivieren) verfügbar.
Öffentliche Eigenschaft ShowIncludes Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob mit der Compilerausgabe eine Liste von Includedateien generiert.ShowIncludes macht die Funktionalität der Compileroption /showIncludes (Includedateien auflisten) verfügbar.
Öffentliche Eigenschaft SmallerTypeCheck Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob die Überprüfung für die Konvertierung in kleinere Typen aktiviert.SmallerTypeCheck macht die Funktionalität der Compileroption /RTC (Laufzeitfehlerüberprüfungen) verfügbar.
Öffentliche Eigenschaft StringPooling Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob schreibgeschütztes Stringpooling zum Generieren von kleinerem kompilierten Code aktiviert.StringPooling macht die Funktionalität der Compileroption /GF (Doppelte Zeichenfolgen beseitigen) verfügbar.
Öffentliche Eigenschaft StructMemberAlignment Gibt 1, 2, 4, 8 - oder 16-Byte-Grenzen zur Ausrichtung der Strukturmember an.StructMemberAlignment macht die Funktionen der Option /Zp (Ausrichten des Strukturmembers) C++- des Compilers und der des MIDL- Eigenschaftenseiten "MIDL": "Erweitert" Option Compilers verfügbar.
Öffentliche Eigenschaft SuppressStartupBanner Unterdrückt die Anzeige von Startbanner und Informationsmeldungen.
Öffentliche Eigenschaft ToolKind Ruft den Namen der Art des Tools ab.
Öffentliche Eigenschaft toolName Ruft den Namen des angegebenen Tools ab.
Öffentliche Eigenschaft ToolPath Ruft den Pfad zum angegebenen Tool ab.
Öffentliche Eigenschaft TreatWChar_tAsBuiltInType Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob wchar_t als integrierter Typ behandelt.TreatWChar_tAsBuiltInType macht die Funktionalität der Compileroption /Zc:wchar_t (wchar_t ist der systemeigene Typ) verfügbar.
Öffentliche Eigenschaft UndefineAllPreprocessorDefinitions Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob alle zuvor definierten Präprozessor Attributwerte Definition aufgehoben wird.UndefineAllPreprocessorDefinitions macht die Funktionalität der Compileroption /U, /u (Symboldefinitionen aufheben) verfügbar.
Öffentliche Eigenschaft UndefinePreprocessorDefinitions Ruft einen Wert ab oder legt einen Wert fest, der eine oder mehrere Präprozessordefinitionen Definition aufgehoben werden soll.UndefinePreprocessorDefinitions macht die Funktionen der Option /U, /u (Symboldefinitionen aufheben) C++- des Compilers und der des MIDL- Eigenschaftenseiten "MIDL": "Erweitert" Option Compilers verfügbar.
Öffentliche Eigenschaft UseFullPaths Ruft ab oder legt fest, ob vollständige Pfade verwendet werden sollen.
Öffentliche Eigenschaft UsePrecompiledHeader Ruft einen Wert ab oder legt einen Wert fest, der die Erstellung und die Verwendung eines vorkompilierten Headerdatei beim Erstellungsvorgang aktiviert.UsePrecompiledHeader macht die Funktionen der /Yc (Datei der vorkompilierten Header erstellen) und /Yu (Vorkompilierte Headerdatei verwenden) Optionen des Compilers verfügbar.
Öffentliche Eigenschaft UseUnicodeResponseFiles Gibt an, ob der Compiler Unicode-Antwortdateien verwendet.
Öffentliche Eigenschaft VCProjectEngine Ruft einen Zeiger auf das Projektmodul ab.
Öffentliche Eigenschaft WarnAsError Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Compiler ermöglicht, alle Warnungen als Fehler behandelt werden sollen.WarnAsError macht die Funktionen der Option /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Warnstufe) C++- des Compilers und der des MIDL- Eigenschaftenseiten "MIDL": "Allgemein" Option Compilers verfügbar.
Öffentliche Eigenschaft WarningLevel Ruft einen Wert ab oder legt einen Wert fest, der die Genauigkeit, mit der der Compiler auf potenziell verdächtige Konstrukte darstellt.WarningLevel macht die Funktionen der Option /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Warnstufe) C++- des Compilers und der des MIDL- /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Warnstufe) Option Compilers verfügbar.
Öffentliche Eigenschaft WholeProgramOptimization Ruft einen Wert ab, der angibt, ob modulübergreifende Optimierungen durch Verzögern der Codegenerierung bis zur Verknüpfungszeit aktivieren werden sollen, oder legt diesen fest.WholeProgramOptimization macht die Funktionalität der Compileroption /GL (Optimierung des ganzen Programms) verfügbar.
Öffentliche Eigenschaft XMLDocumentationFileName Ruft den Namen der XML-Dokumentationsdatei ab oder legt diesen fest.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode get_PropertyOption Infrastruktur. Nur für die interne Verwendung durch Microsoft vorgesehen.

Zum Seitenanfang

Hinweise

Die folgenden neuen Compileroptionen wurden in Visual Studio 2005hinzugefügt:

Die folgenden Compileroptionen wurden in Visual Studio 2005entfernt:

  • /Op

  • /G6, /G7 und /GB

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die EnablePREfast und AdditionalOptions-Eigenschaft verwendet, um den /analyze:WX- Schalter anzugeben.(Beide Eigenschaften sind erforderlich.) Angeben /analyze:WX- keine Codeanalysewarnungen bedeutet, dass beim Kompilieren mit /WXals Fehler behandelt werden.Weitere Informationen finden Sie unter /analyze (Codeanalyse).

Um dieses Beispiel auszuführen, geben Sie Folgendes ein, und führen Sie dieses Beispiel wie in Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodellskizziert aus.Klicken Sie dann in der neuen Instanz von Visual Studio, laden Sie ein Visual C++ Projekt, und verwenden Sie den Add-In-Manager, um das Add-In zu aktivieren.

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

Siehe auch

Referenz

Microsoft.VisualStudio.VCProjectEngine-Namespace

Weitere Ressourcen

Walkthrough: Using /clr:pure Features